diff options
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hif_usb.c | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.c b/drivers/net/wireless/ath/ath9k/hif_usb.c index 2f6b1e9f0aee..f7ec31b4ddd3 100644 --- a/drivers/net/wireless/ath/ath9k/hif_usb.c +++ b/drivers/net/wireless/ath/ath9k/hif_usb.c | |||
@@ -541,11 +541,11 @@ static void ath9k_hif_usb_reg_in_cb(struct urb *urb) | |||
541 | return; | 541 | return; |
542 | } | 542 | } |
543 | 543 | ||
544 | usb_fill_int_urb(urb, hif_dev->udev, | 544 | usb_fill_bulk_urb(urb, hif_dev->udev, |
545 | usb_rcvbulkpipe(hif_dev->udev, | 545 | usb_rcvbulkpipe(hif_dev->udev, |
546 | USB_REG_IN_PIPE), | 546 | USB_REG_IN_PIPE), |
547 | nskb->data, MAX_REG_IN_BUF_SIZE, | 547 | nskb->data, MAX_REG_IN_BUF_SIZE, |
548 | ath9k_hif_usb_reg_in_cb, nskb, 1); | 548 | ath9k_hif_usb_reg_in_cb, nskb); |
549 | 549 | ||
550 | ret = usb_submit_urb(urb, GFP_ATOMIC); | 550 | ret = usb_submit_urb(urb, GFP_ATOMIC); |
551 | if (ret) { | 551 | if (ret) { |
@@ -721,11 +721,11 @@ static int ath9k_hif_usb_alloc_reg_in_urb(struct hif_device_usb *hif_dev) | |||
721 | if (!skb) | 721 | if (!skb) |
722 | goto err; | 722 | goto err; |
723 | 723 | ||
724 | usb_fill_int_urb(hif_dev->reg_in_urb, hif_dev->udev, | 724 | usb_fill_bulk_urb(hif_dev->reg_in_urb, hif_dev->udev, |
725 | usb_rcvbulkpipe(hif_dev->udev, | 725 | usb_rcvbulkpipe(hif_dev->udev, |
726 | USB_REG_IN_PIPE), | 726 | USB_REG_IN_PIPE), |
727 | skb->data, MAX_REG_IN_BUF_SIZE, | 727 | skb->data, MAX_REG_IN_BUF_SIZE, |
728 | ath9k_hif_usb_reg_in_cb, skb, 1); | 728 | ath9k_hif_usb_reg_in_cb, skb); |
729 | 729 | ||
730 | if (usb_submit_urb(hif_dev->reg_in_urb, GFP_KERNEL) != 0) | 730 | if (usb_submit_urb(hif_dev->reg_in_urb, GFP_KERNEL) != 0) |
731 | goto err; | 731 | goto err; |
@@ -844,14 +844,6 @@ static int ath9k_hif_usb_dev_init(struct hif_device_usb *hif_dev) | |||
844 | goto err_fw_req; | 844 | goto err_fw_req; |
845 | } | 845 | } |
846 | 846 | ||
847 | /* Alloc URBs */ | ||
848 | ret = ath9k_hif_usb_alloc_urbs(hif_dev); | ||
849 | if (ret) { | ||
850 | dev_err(&hif_dev->udev->dev, | ||
851 | "ath9k_htc: Unable to allocate URBs\n"); | ||
852 | goto err_urb; | ||
853 | } | ||
854 | |||
855 | /* Download firmware */ | 847 | /* Download firmware */ |
856 | ret = ath9k_hif_usb_download_fw(hif_dev); | 848 | ret = ath9k_hif_usb_download_fw(hif_dev); |
857 | if (ret) { | 849 | if (ret) { |
@@ -867,16 +859,22 @@ static int ath9k_hif_usb_dev_init(struct hif_device_usb *hif_dev) | |||
867 | */ | 859 | */ |
868 | for (idx = 0; idx < alt->desc.bNumEndpoints; idx++) { | 860 | for (idx = 0; idx < alt->desc.bNumEndpoints; idx++) { |
869 | endp = &alt->endpoint[idx].desc; | 861 | endp = &alt->endpoint[idx].desc; |
870 | if (((endp->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK) | 862 | if ((endp->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) |
871 | == 0x04) && | 863 | == USB_ENDPOINT_XFER_INT) { |
872 | ((endp->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) | ||
873 | == USB_ENDPOINT_XFER_INT)) { | ||
874 | endp->bmAttributes &= ~USB_ENDPOINT_XFERTYPE_MASK; | 864 | endp->bmAttributes &= ~USB_ENDPOINT_XFERTYPE_MASK; |
875 | endp->bmAttributes |= USB_ENDPOINT_XFER_BULK; | 865 | endp->bmAttributes |= USB_ENDPOINT_XFER_BULK; |
876 | endp->bInterval = 0; | 866 | endp->bInterval = 0; |
877 | } | 867 | } |
878 | } | 868 | } |
879 | 869 | ||
870 | /* Alloc URBs */ | ||
871 | ret = ath9k_hif_usb_alloc_urbs(hif_dev); | ||
872 | if (ret) { | ||
873 | dev_err(&hif_dev->udev->dev, | ||
874 | "ath9k_htc: Unable to allocate URBs\n"); | ||
875 | goto err_urb; | ||
876 | } | ||
877 | |||
880 | return 0; | 878 | return 0; |
881 | 879 | ||
882 | err_fw_download: | 880 | err_fw_download: |