]> Pileus Git - ~andy/linux/blobdiff - drivers/net/usb/sierra_net.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[~andy/linux] / drivers / net / usb / sierra_net.c
index 7be49ea60b6d8f9353720d757f47c2c61b16fc60..c27d27701aee2e2ce0d7e22f077c579da2ee1b07 100644 (file)
@@ -68,9 +68,8 @@ static        atomic_t iface_counter = ATOMIC_INIT(0);
  */
 #define SIERRA_NET_USBCTL_BUF_LEN      1024
 
-struct sierra_net_info_data {
-       u16 rx_urb_size;
-};
+/* Overriding the default usbnet rx_urb_size */
+#define SIERRA_NET_RX_URB_SIZE         (8 * 1024)
 
 /* Private data structure */
 struct sierra_net_data {
@@ -560,7 +559,7 @@ static void sierra_net_defer_kevent(struct usbnet *dev, int work)
 /*
  * Sync Retransmit Timer Handler. On expiry, kick the work queue
  */
-void sierra_sync_timer(unsigned long syncdata)
+static void sierra_sync_timer(unsigned long syncdata)
 {
        struct usbnet *dev = (struct usbnet *)syncdata;
 
@@ -656,7 +655,7 @@ static int sierra_net_get_fw_attr(struct usbnet *dev, u16 *datap)
                return -EIO;
        }
 
-       *datap = *attrdata;
+       *datap = le16_to_cpu(*attrdata);
 
        kfree(attrdata);
        return result;
@@ -678,9 +677,6 @@ static int sierra_net_bind(struct usbnet *dev, struct usb_interface *intf)
        static const u8 shdwn_tmplate[sizeof(priv->shdwn_msg)] = {
                0x00, 0x00, SIERRA_NET_HIP_SHUTD_ID, 0x00};
 
-       struct sierra_net_info_data *data =
-                       (struct sierra_net_info_data *)dev->driver_info->data;
-
        dev_dbg(&dev->udev->dev, "%s", __func__);
 
        ifacenum = intf->cur_altsetting->desc.bInterfaceNumber;
@@ -725,9 +721,9 @@ static int sierra_net_bind(struct usbnet *dev, struct usb_interface *intf)
        sierra_net_set_ctx_index(priv, 0);
 
        /* decrease the rx_urb_size and max_tx_size to 4k on USB 1.1 */
-       dev->rx_urb_size  = data->rx_urb_size;
+       dev->rx_urb_size  = SIERRA_NET_RX_URB_SIZE;
        if (dev->udev->speed != USB_SPEED_HIGH)
-               dev->rx_urb_size  = min_t(size_t, 4096, data->rx_urb_size);
+               dev->rx_urb_size  = min_t(size_t, 4096, SIERRA_NET_RX_URB_SIZE);
 
        dev->net->hard_header_len += SIERRA_NET_HIP_EXT_HDR_LEN;
        dev->hard_mtu = dev->net->mtu + dev->net->hard_header_len;
@@ -842,7 +838,7 @@ static int sierra_net_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
                                netdev_err(dev->net, "HIP/ETH: Invalid pkt\n");
 
                        dev->net->stats.rx_frame_errors++;
-                       /* dev->net->stats.rx_errors incremented by caller */;
+                       /* dev->net->stats.rx_errors incremented by caller */
                        return 0;
                }
 
@@ -866,8 +862,8 @@ static int sierra_net_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
 }
 
 /* ---------------------------- Transmit data path ----------------------*/
-struct sk_buff *sierra_net_tx_fixup(struct usbnet *dev, struct sk_buff *skb,
-               gfp_t flags)
+static struct sk_buff *sierra_net_tx_fixup(struct usbnet *dev,
+                                          struct sk_buff *skb, gfp_t flags)
 {
        struct sierra_net_data *priv = sierra_net_get_private(dev);
        u16 len;
@@ -918,10 +914,6 @@ struct sk_buff *sierra_net_tx_fixup(struct usbnet *dev, struct sk_buff *skb,
        return NULL;
 }
 
-static const struct sierra_net_info_data sierra_net_info_data_direct_ip = {
-       .rx_urb_size = 8 * 1024,
-};
-
 static const struct driver_info sierra_net_info_direct_ip = {
        .description = "Sierra Wireless USB-to-WWAN Modem",
        .flags = FLAG_WWAN | FLAG_SEND_ZLP,
@@ -930,7 +922,6 @@ static const struct driver_info sierra_net_info_direct_ip = {
        .status = sierra_net_status,
        .rx_fixup = sierra_net_rx_fixup,
        .tx_fixup = sierra_net_tx_fixup,
-       .data = (unsigned long)&sierra_net_info_data_direct_ip,
 };
 
 #define DIRECT_IP_DEVICE(vend, prod) \