Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma
[firefly-linux-kernel-4.4.55.git] / drivers / staging / rtl8192u / r8192U_core.c
index 28b54babf498a844963f1d6eae800938e96f7a79..e06864f64beb82963eb0e116cf88a1ec88c939d6 100644 (file)
@@ -233,7 +233,7 @@ static void CamResetAllEntry(struct net_device *dev)
         * condition, Cam can not be reset because upper layer will not set
         * this static key again.
         */
-       ulcommand |= BIT31 | BIT30;
+       ulcommand |= BIT(31) | BIT(30);
        write_nic_dword(dev, RWCAM, ulcommand);
 
 }
@@ -242,7 +242,7 @@ static void CamResetAllEntry(struct net_device *dev)
 void write_cam(struct net_device *dev, u8 addr, u32 data)
 {
        write_nic_dword(dev, WCAMI, data);
-       write_nic_dword(dev, RWCAM, BIT31 | BIT16 | (addr & 0xff));
+       write_nic_dword(dev, RWCAM, BIT(31) | BIT(16) | (addr & 0xff));
 }
 
 u32 read_cam(struct net_device *dev, u8 addr)
@@ -259,10 +259,16 @@ void write_nic_byte_E(struct net_device *dev, int indx, u8 data)
        int status;
        struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
        struct usb_device *udev = priv->udev;
+       u8 *usbdata = kzalloc(sizeof(data), GFP_KERNEL);
+
+       if (!usbdata)
+               return;
+       *usbdata = data;
 
        status = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
                                 RTL8187_REQ_SET_REGS, RTL8187_REQT_WRITE,
-                                indx | 0xfe00, 0, &data, 1, HZ / 2);
+                                indx | 0xfe00, 0, usbdata, 1, HZ / 2);
+       kfree(usbdata);
 
        if (status < 0)
                netdev_err(dev, "write_nic_byte_E TimeOut! status: %d\n",
@@ -274,10 +280,16 @@ int read_nic_byte_E(struct net_device *dev, int indx, u8 *data)
        int status;
        struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
        struct usb_device *udev = priv->udev;
+       u8 *usbdata = kzalloc(sizeof(u8), GFP_KERNEL);
+
+       if (!usbdata)
+               return -ENOMEM;
 
        status = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0),
                                 RTL8187_REQ_GET_REGS, RTL8187_REQT_READ,
-                                indx | 0xfe00, 0, data, 1, HZ / 2);
+                                indx | 0xfe00, 0, usbdata, 1, HZ / 2);
+       *data = *usbdata;
+       kfree(usbdata);
 
        if (status < 0) {
                netdev_err(dev, "%s failure status: %d\n", __func__, status);
@@ -293,11 +305,17 @@ void write_nic_byte(struct net_device *dev, int indx, u8 data)
 
        struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
        struct usb_device *udev = priv->udev;
+       u8 *usbdata = kzalloc(sizeof(data), GFP_KERNEL);
+
+       if (!usbdata)
+               return;
+       *usbdata = data;
 
        status = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
                                 RTL8187_REQ_SET_REGS, RTL8187_REQT_WRITE,
                                 (indx & 0xff) | 0xff00, (indx >> 8) & 0x0f,
-                                &data, 1, HZ / 2);
+                                usbdata, 1, HZ / 2);
+       kfree(usbdata);
 
        if (status < 0)
                netdev_err(dev, "write_nic_byte TimeOut! status: %d\n", status);
@@ -313,11 +331,17 @@ void write_nic_word(struct net_device *dev, int indx, u16 data)
 
        struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
        struct usb_device *udev = priv->udev;
+       u16 *usbdata = kzalloc(sizeof(data), GFP_KERNEL);
+
+       if (!usbdata)
+               return;
+       *usbdata = data;
 
        status = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
                                 RTL8187_REQ_SET_REGS, RTL8187_REQT_WRITE,
                                 (indx & 0xff) | 0xff00, (indx >> 8) & 0x0f,
-                                &data, 2, HZ / 2);
+                                usbdata, 2, HZ / 2);
+       kfree(usbdata);
 
        if (status < 0)
                netdev_err(dev, "write_nic_word TimeOut! status: %d\n", status);
@@ -332,11 +356,17 @@ void write_nic_dword(struct net_device *dev, int indx, u32 data)
 
        struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
        struct usb_device *udev = priv->udev;
+       u32 *usbdata = kzalloc(sizeof(data), GFP_KERNEL);
+
+       if (!usbdata)
+               return;
+       *usbdata = data;
 
        status = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
                                 RTL8187_REQ_SET_REGS, RTL8187_REQT_WRITE,
                                 (indx & 0xff) | 0xff00, (indx >> 8) & 0x0f,
-                                &data, 4, HZ / 2);
+                                usbdata, 4, HZ / 2);
+       kfree(usbdata);
 
 
        if (status < 0)
@@ -352,11 +382,17 @@ int read_nic_byte(struct net_device *dev, int indx, u8 *data)
        int status;
        struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
        struct usb_device *udev = priv->udev;
+       u8 *usbdata = kzalloc(sizeof(u8), GFP_KERNEL);
+
+       if (!usbdata)
+               return -ENOMEM;
 
        status = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0),
                                 RTL8187_REQ_GET_REGS, RTL8187_REQT_READ,
                                 (indx & 0xff) | 0xff00, (indx >> 8) & 0x0f,
-                                data, 1, HZ / 2);
+                                usbdata, 1, HZ / 2);
+       *data = *usbdata;
+       kfree(usbdata);
 
        if (status < 0) {
                netdev_err(dev, "%s failure status: %d\n", __func__, status);
@@ -373,11 +409,17 @@ int read_nic_word(struct net_device *dev, int indx, u16 *data)
        int status;
        struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
        struct usb_device *udev = priv->udev;
+       u16 *usbdata = kzalloc(sizeof(u16), GFP_KERNEL);
+
+       if (!usbdata)
+               return -ENOMEM;
 
        status = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0),
                                 RTL8187_REQ_GET_REGS, RTL8187_REQT_READ,
                                 (indx & 0xff) | 0xff00, (indx >> 8) & 0x0f,
-                                data, 2, HZ / 2);
+                                usbdata, 2, HZ / 2);
+       *data = *usbdata;
+       kfree(usbdata);
 
        if (status < 0) {
                netdev_err(dev, "%s failure status: %d\n", __func__, status);
@@ -392,10 +434,16 @@ static int read_nic_word_E(struct net_device *dev, int indx, u16 *data)
        int status;
        struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
        struct usb_device *udev = priv->udev;
+       u16 *usbdata = kzalloc(sizeof(u16), GFP_KERNEL);
+
+       if (!usbdata)
+               return -ENOMEM;
 
        status = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0),
                                 RTL8187_REQ_GET_REGS, RTL8187_REQT_READ,
-                                indx | 0xfe00, 0, data, 2, HZ / 2);
+                                indx | 0xfe00, 0, usbdata, 2, HZ / 2);
+       *data = *usbdata;
+       kfree(usbdata);
 
        if (status < 0) {
                netdev_err(dev, "%s failure status: %d\n", __func__, status);
@@ -411,11 +459,17 @@ int read_nic_dword(struct net_device *dev, int indx, u32 *data)
 
        struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
        struct usb_device *udev = priv->udev;
+       u32 *usbdata = kzalloc(sizeof(u32), GFP_KERNEL);
+
+       if (!usbdata)
+               return -ENOMEM;
 
        status = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0),
                                 RTL8187_REQ_GET_REGS, RTL8187_REQT_READ,
                                 (indx & 0xff) | 0xff00, (indx >> 8) & 0x0f,
-                                data, 4, HZ / 2);
+                                usbdata, 4, HZ / 2);
+       *data = *usbdata;
+       kfree(usbdata);
 
        if (status < 0) {
                netdev_err(dev, "%s failure status: %d\n", __func__, status);
@@ -2358,7 +2412,7 @@ static void rtl8192_get_eeprom_size(struct net_device *dev)
        read_nic_word_E(dev, EPROM_CMD, &curCR);
        RT_TRACE(COMP_EPROM,
                 "read from Reg EPROM_CMD(%x):%x\n", EPROM_CMD, curCR);
-       /* whether need I consider BIT5? */
+       /* whether need I consider BIT(5?) */
        priv->epromtype =
                (curCR & Cmd9346CR_9356SEL) ? EPROM_93c56 : EPROM_93c46;
        RT_TRACE(COMP_EPROM,
@@ -3462,7 +3516,7 @@ static void watch_dog_timer_callback(unsigned long data)
 
        queue_delayed_work(priv->priv_wq, &priv->watch_dog_wq, 0);
        mod_timer(&priv->watch_dog_timer,
-                 jiffies + MSECS(IEEE80211_WATCH_DOG_TIME));
+                 jiffies + msecs_to_jiffies(IEEE80211_WATCH_DOG_TIME));
 }
 static int _rtl8192_up(struct net_device *dev)
 {
@@ -4724,7 +4778,7 @@ static void rtl8192_rx_nomal(struct sk_buff *skb)
        struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
        struct ieee80211_rx_stats stats = {
                .signal = 0,
-               .noise = -98,
+               .noise = 0x100 - 98,
                .rate = 0,
                .freq = IEEE80211_24GHZ_BAND,
        };
@@ -4835,7 +4889,7 @@ static void rtl8192_rx_cmd(struct sk_buff *skb)
        /* TODO */
        struct ieee80211_rx_stats stats = {
                .signal = 0,
-               .noise = -98,
+               .noise = 0x100 - 98,
                .rate = 0,
                .freq = IEEE80211_24GHZ_BAND,
        };
@@ -5126,14 +5180,14 @@ void setKey(struct net_device *dev, u8 EntryNo, u8 KeyIndex, u16 KeyType,
                 dev, EntryNo, KeyIndex, KeyType, MacAddr);
 
        if (DefaultKey)
-               usConfig |= BIT15 | (KeyType << 2);
+               usConfig |= BIT(15) | (KeyType << 2);
        else
-               usConfig |= BIT15 | (KeyType << 2) | KeyIndex;
+               usConfig |= BIT(15) | (KeyType << 2) | KeyIndex;
 
 
        for (i = 0; i < CAM_CONTENT_COUNT; i++) {
                TargetCommand  = i + CAM_CONTENT_COUNT * EntryNo;
-               TargetCommand |= BIT31 | BIT16;
+               TargetCommand |= BIT(31) | BIT(16);
 
                if (i == 0) { /* MAC|Config */
                        TargetContent = (u32)(*(MacAddr + 0)) << 16 |