Patch "net: qmi_wwan: ignore bogus CDC Union descriptors" has been added to the 4.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    net: qmi_wwan: ignore bogus CDC Union descriptors

to the 4.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     net-qmi_wwan-ignore-bogus-cdc-union-descriptors.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 34f74586f72b6dcbc09b74cddfe75a01cebee8f5
Author: Bjørn Mork <bjorn@xxxxxxx>
Date:   Thu Dec 17 12:44:04 2015 +0100

    net: qmi_wwan: ignore bogus CDC Union descriptors
    
    [ Upstream commit 34a55d5e858e81a20d33fd9490149d6a1058be0c ]
    
    The CDC descriptors found on these vendor specific functions should
    not be considered authoritative.  They seem to be ignored by drivers
    for other systems, and the quality is therefore low.
    
    One device (1e0e:9001) has been reported to have such a bogus union
    descriptor on the QMI function, making it fail probing even if the
    device id was dynamically added.  The report was not complete enough
    to allow adding a device entry for this modem. But this should at
    least fix the dynamic id probing problem.
    
    Reported-by: Kanerva Topi <Topi.Kanerva@xxxxxxxx>
    Signed-off-by: Bjørn Mork <bjorn@xxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index e75e984483bc5..f8d00846b4a59 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -374,7 +374,10 @@ static int qmi_wwan_bind(struct usbnet *dev, struct usb_interface *intf)
 				"bogus CDC Union: master=%u, slave=%u\n",
 				cdc_union->bMasterInterface0,
 				cdc_union->bSlaveInterface0);
-			goto err;
+
+			/* ignore and continue... */
+			cdc_union = NULL;
+			info->data = intf;
 		}
 	}
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux