staging: rtl8192u: propagate errors in write_nic_word
authorSalah Triki <salah.triki@acm.org>
Wed, 4 May 2016 03:42:47 +0000 (04:42 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 19 Jun 2016 02:49:02 +0000 (19:49 -0700)
Propagate errors from kzalloc and usb_control_msg and change the
return type of write_nic_word from void to int.

Signed-off-by: Salah Triki <salah.triki@acm.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8192u/r8192U.h
drivers/staging/rtl8192u/r8192U_core.c

index e0abcf571d8fc9e41e95fa272de709002555fb8e..27f9aa50943ab203507500085d761ff30fa37a15 100644 (file)
@@ -1131,7 +1131,7 @@ int read_nic_dword(struct net_device *dev, int x, u32 *data);
 int read_nic_word(struct net_device *dev, int x, u16 *data);
 int write_nic_byte(struct net_device *dev, int x, u8 y);
 int write_nic_byte_E(struct net_device *dev, int x, u8 y);
-void write_nic_word(struct net_device *dev, int x, u16 y);
+int write_nic_word(struct net_device *dev, int x, u16 y);
 void write_nic_dword(struct net_device *dev, int x, u32 y);
 void force_pci_posting(struct net_device *dev);
 
index 675e898d52ce79fcfe6c342f42d76f7c8d569727..10eeb1c7ce83f2473abe0675ac3d188a32457630 100644 (file)
@@ -329,7 +329,7 @@ int write_nic_byte(struct net_device *dev, int indx, u8 data)
 }
 
 
-void write_nic_word(struct net_device *dev, int indx, u16 data)
+int write_nic_word(struct net_device *dev, int indx, u16 data)
 {
        int status;
 
@@ -338,7 +338,7 @@ void write_nic_word(struct net_device *dev, int indx, u16 data)
        u16 *usbdata = kzalloc(sizeof(data), GFP_KERNEL);
 
        if (!usbdata)
-               return;
+               return -ENOMEM;
        *usbdata = data;
 
        status = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
@@ -347,8 +347,12 @@ void write_nic_word(struct net_device *dev, int indx, u16 data)
                                 usbdata, 2, HZ / 2);
        kfree(usbdata);
 
-       if (status < 0)
+       if (status < 0) {
                netdev_err(dev, "write_nic_word TimeOut! status: %d\n", status);
+               return status;
+       }
+
+       return 0;
 }