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>
  * Allocates (if necessary) and initializes the driver structure.
  *
  * RETURNS:
- *    ISD status code
+ *    error status code
  */
 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);
        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;
 }
 
 /**************************************************************************