Re: [USB]Add Samsung SGH-I500/Android modem ID switch to visor driver

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

 



W dniu 06.02.2011 00:29, Sergei Shtylyov pisze:
> Hello.
> 
> On 06.02.2011 0:41, Maciej Szmigiero wrote:
> 
>> New version of patch which autodetects devices with ACM class.
>> Tested on Galaxy Spica.
> 
>> Signed-off-by: Maciej Szmigiero <mhej@xxxxx>
> 
>> diff --git a/drivers/usb/serial/visor.c b/drivers/usb/serial/visor.c
>> index 15a5d89..e1c4527 100644
>> --- a/drivers/usb/serial/visor.c
>> +++ b/drivers/usb/serial/visor.c
> [...]
>> @@ -479,6 +480,15 @@ static int visor_probe(struct usb_serial *serial,
>>
>>       dbg("%s", __func__);
>>
>> +    /* some Samsung Android phones in modem mode have the same ID */
>> +    /* as SPH-I500, but they are ACM devices, so dont bind to them */
> 
>    The preferred style for the multi-line comments is this:
> 
> /*
>  * bla
>  * bla
>  */
> 
>> +    if ((id->idVendor == SAMSUNG_VENDOR_ID)&&
>> +        (id->idProduct == SAMSUNG_SPH_I500_ID)&&
>> +        (serial->dev->descriptor.bDeviceClass == USB_CLASS_COMM)&&
>> +        (serial->dev->descriptor.bDeviceSubClass ==
>> +            USB_CDC_SUBCLASS_ACM))
> 
>    Parens around == not necessary...
> 
> WBR, Sergei

Thanks for comments, new version of this patch with style fixes follows.

Best regards,
Maciej Szmigiero

Signed-off-by: Maciej Szmigiero <mhej@xxxxx>

diff --git a/drivers/usb/serial/visor.c b/drivers/usb/serial/visor.c
index 15a5d89..0f75948 100644
--- a/drivers/usb/serial/visor.c
+++ b/drivers/usb/serial/visor.c
@@ -27,6 +27,7 @@
 #include <linux/uaccess.h>
 #include <linux/usb.h>
 #include <linux/usb/serial.h>
+#include <linux/usb/cdc.h>
 #include "visor.h"
 
 /*
@@ -479,6 +480,17 @@ static int visor_probe(struct usb_serial *serial,
 
 	dbg("%s", __func__);
 
+	/*
+	 * some Samsung Android phones in modem mode have the same ID
+	 * as SPH-I500, but they are ACM devices, so dont bind to them
+	*/
+	if (id->idVendor == SAMSUNG_VENDOR_ID &&
+		id->idProduct == SAMSUNG_SPH_I500_ID &&
+		serial->dev->descriptor.bDeviceClass == USB_CLASS_COMM &&
+		serial->dev->descriptor.bDeviceSubClass ==
+			USB_CDC_SUBCLASS_ACM)
+		return -ENODEV;
+
 	if (serial->dev->actconfig->desc.bConfigurationValue != 1) {
 		dev_err(&serial->dev->dev, "active config #%d != 1 ??\n",
 			serial->dev->actconfig->desc.bConfigurationValue);


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux