lkml.org 
[lkml]   [2011]   [Feb]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [USB]Add Samsung SGH-I500/Android modem ID switch to visor driver
New version of patch which autodetects devices with ACM class.
Tested on Galaxy Spica.

Signed-off-by: Maciej Szmigiero <mhej@o2.pl>

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
@@ -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,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 */
+ 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);


\
 
 \ /
  Last update: 2011-02-05 22:43    [W:0.079 / U:0.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site