diff options
| -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: |
