summary refs log tree commit diff
path: root/drivers/usb/storage
diff options
context:
space:
mode:
authorLin Ma <linma@zju.edu.cn>2022-04-07 10:20:58 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-04-21 19:02:37 +0200
commit17b2fb9c231ea418fa6c8643f2c786ec991b56f5 (patch)
tree42fc4d8c401dc3e53ffce078b2c416962699e316 /drivers/usb/storage
parenteafc69a488111aa3b18794602ecc52acbef84288 (diff)
downloadlinux-17b2fb9c231ea418fa6c8643f2c786ec991b56f5.tar.gz
usb-storage: alauda: fix initFunction error return
The initFunction is called when probing a new device, its call relation
is like:

USB core: probe() -> usb_stor_probe2() -> usb_stor_acquire_resources()
-> init_alauda()

That is, the error return of the initFunction should tell USB core what
happened instead of using error code like USB_STOR_TRANSPORT_ERROR.

Signed-off-by: Lin Ma <linma@zju.edu.cn>
Link: https://lore.kernel.org/r/20220407022058.3741-1-linma@zju.edu.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/storage')
-rw-r--r--drivers/usb/storage/alauda.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/storage/alauda.c b/drivers/usb/storage/alauda.c
index 20b857e97e60..747be69e5e69 100644
--- a/drivers/usb/storage/alauda.c
+++ b/drivers/usb/storage/alauda.c
@@ -1104,7 +1104,7 @@ static int init_alauda(struct us_data *us)
 
 	us->extra = kzalloc(sizeof(struct alauda_info), GFP_NOIO);
 	if (!us->extra)
-		return USB_STOR_TRANSPORT_ERROR;
+		return -ENOMEM;
 
 	info = (struct alauda_info *) us->extra;
 	us->extra_destructor = alauda_info_destructor;
@@ -1113,7 +1113,7 @@ static int init_alauda(struct us_data *us)
 		altsetting->endpoint[0].desc.bEndpointAddress
 		& USB_ENDPOINT_NUMBER_MASK);
 
-	return USB_STOR_TRANSPORT_GOOD;
+	return 0;
 }
 
 static int alauda_transport(struct scsi_cmnd *srb, struct us_data *us)