]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/net/wireless/marvell/libertas_tf/if_usb.c
libertas_tf: move hardware callbacks to a separate structure
[linux.git] / drivers / net / wireless / marvell / libertas_tf / if_usb.c
index 789337ea676acd506cf9829bb5f7dba00ec2f6dc..7a5a1a85dcf76561e0e62b66357e18cd3b0f0e81 100644 (file)
@@ -131,6 +131,12 @@ static void if_usb_fw_timeo(struct timer_list *t)
        lbtf_deb_leave(LBTF_DEB_USB);
 }
 
+static const struct lbtf_ops if_usb_ops = {
+       .hw_host_to_card = if_usb_host_to_card,
+       .hw_prog_firmware = if_usb_prog_firmware,
+       .hw_reset_device = if_usb_reset_device,
+};
+
 /**
  *  if_usb_probe - sets the configuration values
  *
@@ -216,15 +222,11 @@ static int if_usb_probe(struct usb_interface *intf,
                goto dealloc;
        }
 
-       priv = lbtf_add_card(cardp, &udev->dev);
+       priv = lbtf_add_card(cardp, &udev->dev, &if_usb_ops);
        if (!priv)
                goto dealloc;
 
        cardp->priv = priv;
-
-       priv->hw_host_to_card = if_usb_host_to_card;
-       priv->hw_prog_firmware = if_usb_prog_firmware;
-       priv->hw_reset_device = if_usb_reset_device;
        cardp->boot2_version = udev->descriptor.bcdDevice;
 
        usb_get_dev(udev);
@@ -433,8 +435,6 @@ static int __if_usb_submit_rx_urb(struct if_usb_card *cardp,
                          skb_tail_pointer(skb),
                          MRVDRV_ETH_RX_PACKET_BUFFER_SIZE, callbackfn, cardp);
 
-       cardp->rx_urb->transfer_flags |= URB_ZERO_PACKET;
-
        lbtf_deb_usb2(&cardp->udev->dev, "Pointer for rx_urb %p\n",
                cardp->rx_urb);
        ret = usb_submit_urb(cardp->rx_urb, GFP_ATOMIC);