diff options
author | Lin Ma <linma@zju.edu.cn> | 2022-04-07 10:21:10 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2022-04-21 19:02:42 +0200 |
commit | ba6df3ea68196d54a1e8299cea1bf4565fc755c5 (patch) | |
tree | bd0dc1406a10bc0992d212a856265c45b94adc95 | |
parent | 1abf67983a4fd74133b3d2b43722704c744621a6 (diff) | |
download | linux-stable-ba6df3ea68196d54a1e8299cea1bf4565fc755c5.tar.gz linux-stable-ba6df3ea68196d54a1e8299cea1bf4565fc755c5.tar.bz2 linux-stable-ba6df3ea68196d54a1e8299cea1bf4565fc755c5.zip |
usb-storage: isd200: 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()
-> isd200_init_info()
That is, the error return of the initFunction should tell USB core what
happened instead of using custom error code like ISD200_ERROR.
Signed-off-by: Lin Ma <linma@zju.edu.cn>
Link: https://lore.kernel.org/r/20220407022110.3757-1-linma@zju.edu.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/usb/storage/isd200.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/usb/storage/isd200.c b/drivers/usb/storage/isd200.c index 05429f1f69f9..4e0eef1440b7 100644 --- a/drivers/usb/storage/isd200.c +++ b/drivers/usb/storage/isd200.c @@ -1449,7 +1449,7 @@ static void isd200_free_info_ptrs(void *info_) * Allocates (if necessary) and initializes the driver structure. * * RETURNS: - * ISD status code + * error status code */ static int isd200_init_info(struct us_data *us) { @@ -1457,7 +1457,7 @@ static int isd200_init_info(struct us_data *us) info = kzalloc(sizeof(struct isd200_info), GFP_KERNEL); if (!info) - return ISD200_ERROR; + return -ENOMEM; info->id = kzalloc(ATA_ID_WORDS * 2, GFP_KERNEL); info->RegsBuf = kmalloc(sizeof(info->ATARegs), GFP_KERNEL); @@ -1466,13 +1466,13 @@ static int isd200_init_info(struct us_data *us) if (!info->id || !info->RegsBuf || !info->srb.sense_buffer) { isd200_free_info_ptrs(info); kfree(info); - return ISD200_ERROR; + return -ENOMEM; } us->extra = info; us->extra_destructor = isd200_free_info_ptrs; - return ISD200_GOOD; + return 0; } /************************************************************************** |