mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 05:04:09 +08:00
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>
This commit is contained in:
parent
1abf67983a
commit
ba6df3ea68
@ -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;
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
|
Loading…
Reference in New Issue
Block a user