Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=786e3dfbae8e2da422affcc1736ca1888f200a27
Commit:     786e3dfbae8e2da422affcc1736ca1888f200a27
Parent:     2bfa2e1fecac3d8f8a7786a8171b7c75a48fc6d1
Author:     Bjorge Dijkstra <[EMAIL PROTECTED]>
AuthorDate: Sat Jan 26 00:50:44 2008 +0200
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Thu Jan 31 19:26:52 2008 -0800

    cdc_ether: Hardwire CDC descriptors when missing
    
    Just as ActiveSync devices, some regular RNDIS devices also lack
    the CDC descriptors (e.g. devices based on BCM4320 WLAN chip).
    This patch hardwires the CDC descriptors for all RNDIS style devices
    when they are missing.
    
    Signed-off-by: Bjorge Dijkstra <[EMAIL PROTECTED]>
    Signed-off-by: Jussi Kivilinna <[EMAIL PROTECTED]>
    Acked-by: David Brownell <[EMAIL PROTECTED]>
    Signed-off-by: John W. Linville <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 drivers/net/usb/cdc_ether.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c
index a42acc3..97c17bb 100644
--- a/drivers/net/usb/cdc_ether.c
+++ b/drivers/net/usb/cdc_ether.c
@@ -228,15 +228,16 @@ next_desc:
                buf += buf [0];
        }
 
-       /* Microsoft ActiveSync based RNDIS devices lack the CDC descriptors,
-        * so we'll hard-wire the interfaces and not check for descriptors.
+       /* Microsoft ActiveSync based and some regular RNDIS devices lack the
+        * CDC descriptors, so we'll hard-wire the interfaces and not check
+        * for descriptors.
         */
-       if (is_activesync(&intf->cur_altsetting->desc) && !info->u) {
+       if (rndis && !info->u) {
                info->control = usb_ifnum_to_if(dev->udev, 0);
                info->data = usb_ifnum_to_if(dev->udev, 1);
                if (!info->control || !info->data) {
                        dev_dbg(&intf->dev,
-                               "activesync: master #0/%p slave #1/%p\n",
+                               "rndis: master #0/%p slave #1/%p\n",
                                info->control,
                                info->data);
                        goto bad_desc;
@@ -316,7 +317,6 @@ void usbnet_cdc_unbind(struct usbnet *dev, struct 
usb_interface *intf)
 }
 EXPORT_SYMBOL_GPL(usbnet_cdc_unbind);
 
-
 /*-------------------------------------------------------------------------
  *
  * Communications Device Class, Ethernet Control model
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to