diff options
Diffstat (limited to 'drivers/net/wireless/libertas/if_usb.c')
-rw-r--r-- | drivers/net/wireless/libertas/if_usb.c | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/drivers/net/wireless/libertas/if_usb.c b/drivers/net/wireless/libertas/if_usb.c index 53d479688ff9..364eae374b93 100644 --- a/drivers/net/wireless/libertas/if_usb.c +++ b/drivers/net/wireless/libertas/if_usb.c | |||
@@ -639,11 +639,13 @@ static void if_usb_receive(struct urb *urb) | |||
639 | 639 | ||
640 | int recvlength = urb->actual_length; | 640 | int recvlength = urb->actual_length; |
641 | u8 *recvbuff = NULL; | 641 | u8 *recvbuff = NULL; |
642 | u32 recvtype; | 642 | u32 recvtype = 0; |
643 | 643 | ||
644 | lbs_deb_enter(LBS_DEB_USB); | 644 | lbs_deb_enter(LBS_DEB_USB); |
645 | 645 | ||
646 | if (recvlength) { | 646 | if (recvlength) { |
647 | __le32 tmp; | ||
648 | |||
647 | if (urb->status) { | 649 | if (urb->status) { |
648 | lbs_deb_usbd(&cardp->udev->dev, | 650 | lbs_deb_usbd(&cardp->udev->dev, |
649 | "URB status is failed\n"); | 651 | "URB status is failed\n"); |
@@ -652,18 +654,14 @@ static void if_usb_receive(struct urb *urb) | |||
652 | } | 654 | } |
653 | 655 | ||
654 | recvbuff = skb->data + IPFIELD_ALIGN_OFFSET; | 656 | recvbuff = skb->data + IPFIELD_ALIGN_OFFSET; |
655 | memcpy(&recvtype, recvbuff, sizeof(u32)); | 657 | memcpy(&tmp, recvbuff, sizeof(u32)); |
656 | lbs_deb_usbd(&cardp->udev->dev, | 658 | recvtype = le32_to_cpu(tmp); |
657 | "Recv length = 0x%x\n", recvlength); | ||
658 | lbs_deb_usbd(&cardp->udev->dev, | 659 | lbs_deb_usbd(&cardp->udev->dev, |
659 | "Receive type = 0x%X\n", recvtype); | 660 | "Recv length = 0x%x, Recv type = 0x%X\n", |
660 | recvtype = le32_to_cpu(recvtype); | 661 | recvlength, recvtype); |
661 | lbs_deb_usbd(&cardp->udev->dev, | ||
662 | "Receive type after = 0x%X\n", recvtype); | ||
663 | } else if (urb->status) | 662 | } else if (urb->status) |
664 | goto rx_exit; | 663 | goto rx_exit; |
665 | 664 | ||
666 | |||
667 | switch (recvtype) { | 665 | switch (recvtype) { |
668 | case CMD_TYPE_DATA: | 666 | case CMD_TYPE_DATA: |
669 | process_cmdtypedata(recvlength, skb, cardp, priv); | 667 | process_cmdtypedata(recvlength, skb, cardp, priv); |
@@ -691,6 +689,8 @@ static void if_usb_receive(struct urb *urb) | |||
691 | spin_unlock(&priv->adapter->driver_lock); | 689 | spin_unlock(&priv->adapter->driver_lock); |
692 | goto rx_exit; | 690 | goto rx_exit; |
693 | default: | 691 | default: |
692 | lbs_deb_usbd(&cardp->udev->dev, "Unknown command type 0x%X\n", | ||
693 | recvtype); | ||
694 | kfree_skb(skb); | 694 | kfree_skb(skb); |
695 | break; | 695 | break; |
696 | } | 696 | } |
@@ -711,21 +711,19 @@ rx_exit: | |||
711 | */ | 711 | */ |
712 | static int if_usb_host_to_card(wlan_private * priv, u8 type, u8 * payload, u16 nb) | 712 | static int if_usb_host_to_card(wlan_private * priv, u8 type, u8 * payload, u16 nb) |
713 | { | 713 | { |
714 | int ret = -1; | ||
715 | u32 tmp; | ||
716 | struct usb_card_rec *cardp = (struct usb_card_rec *)priv->card; | 714 | struct usb_card_rec *cardp = (struct usb_card_rec *)priv->card; |
717 | 715 | ||
718 | lbs_deb_usbd(&cardp->udev->dev,"*** type = %u\n", type); | 716 | lbs_deb_usbd(&cardp->udev->dev,"*** type = %u\n", type); |
719 | lbs_deb_usbd(&cardp->udev->dev,"size after = %d\n", nb); | 717 | lbs_deb_usbd(&cardp->udev->dev,"size after = %d\n", nb); |
720 | 718 | ||
721 | if (type == MVMS_CMD) { | 719 | if (type == MVMS_CMD) { |
722 | tmp = cpu_to_le32(CMD_TYPE_REQUEST); | 720 | __le32 tmp = cpu_to_le32(CMD_TYPE_REQUEST); |
723 | priv->dnld_sent = DNLD_CMD_SENT; | 721 | priv->dnld_sent = DNLD_CMD_SENT; |
724 | memcpy(cardp->bulk_out_buffer, (u8 *) & tmp, | 722 | memcpy(cardp->bulk_out_buffer, (u8 *) & tmp, |
725 | MESSAGE_HEADER_LEN); | 723 | MESSAGE_HEADER_LEN); |
726 | 724 | ||
727 | } else { | 725 | } else { |
728 | tmp = cpu_to_le32(CMD_TYPE_DATA); | 726 | __le32 tmp = cpu_to_le32(CMD_TYPE_DATA); |
729 | priv->dnld_sent = DNLD_DATA_SENT; | 727 | priv->dnld_sent = DNLD_DATA_SENT; |
730 | memcpy(cardp->bulk_out_buffer, (u8 *) & tmp, | 728 | memcpy(cardp->bulk_out_buffer, (u8 *) & tmp, |
731 | MESSAGE_HEADER_LEN); | 729 | MESSAGE_HEADER_LEN); |
@@ -733,10 +731,8 @@ static int if_usb_host_to_card(wlan_private * priv, u8 type, u8 * payload, u16 n | |||
733 | 731 | ||
734 | memcpy((cardp->bulk_out_buffer + MESSAGE_HEADER_LEN), payload, nb); | 732 | memcpy((cardp->bulk_out_buffer + MESSAGE_HEADER_LEN), payload, nb); |
735 | 733 | ||
736 | ret = | 734 | return usb_tx_block(priv, cardp->bulk_out_buffer, |
737 | usb_tx_block(priv, cardp->bulk_out_buffer, nb + MESSAGE_HEADER_LEN); | 735 | nb + MESSAGE_HEADER_LEN); |
738 | |||
739 | return ret; | ||
740 | } | 736 | } |
741 | 737 | ||
742 | /* called with adapter->driver_lock held */ | 738 | /* called with adapter->driver_lock held */ |