]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob
f438f98b7d7a6bc90c863424f92eea544d1fedc3
[thirdparty/kernel/stable-queue.git] /
1 From 4035e45632c2a8bb4edae83c20447051bd9a9604 Mon Sep 17 00:00:00 2001
2 From: Toby Gray <toby.gray@realvnc.com>
3 Date: Wed, 1 Sep 2010 16:01:19 +0100
4 Subject: USB: cdc-acm: Adding second ACM channel support for various Nokia and one Samsung phones
5
6 From: Toby Gray <toby.gray@realvnc.com>
7
8 commit 4035e45632c2a8bb4edae83c20447051bd9a9604 upstream.
9
10 S60 phones from Nokia and Samsung expose two ACM channels. The first is a modem
11 with a standard AT-command interface, which is picked up correctly by CDC-ACM.
12
13 The second ACM port is marked as having a vendor-specific protocol. This means
14 that the ACM driver will not claim the second channel by default.
15
16 This adds support for the second ACM channel for the following devices:
17 Nokia E63
18 Nokia E75
19 Nokia 6760 Slide
20 Nokia E52
21 Nokia E55
22 Nokia E72
23 Nokia X6
24 Nokia N97 Mini
25 Nokia 5800 Xpressmusic
26 Nokia E90
27 Samsung GTi8510 (INNOV8)
28
29 Signed-off-by: Toby Gray <toby.gray@realvnc.com>
30 Cc: Oliver Neukum <oliver@neukum.name>
31 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
32
33 ---
34 drivers/usb/class/cdc-acm.c | 16 ++++++++++++++++
35 1 file changed, 16 insertions(+)
36
37 --- a/drivers/usb/class/cdc-acm.c
38 +++ b/drivers/usb/class/cdc-acm.c
39 @@ -1470,6 +1470,11 @@ err_out:
40 USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, \
41 USB_CDC_ACM_PROTO_VENDOR)
42
43 +#define SAMSUNG_PCSUITE_ACM_INFO(x) \
44 + USB_DEVICE_AND_INTERFACE_INFO(0x04e7, x, \
45 + USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, \
46 + USB_CDC_ACM_PROTO_VENDOR)
47 +
48 /*
49 * USB driver structure.
50 */
51 @@ -1580,6 +1585,17 @@ static struct usb_device_id acm_ids[] =
52 { NOKIA_PCSUITE_ACM_INFO(0x0108), }, /* Nokia 5320 XpressMusic 2G */
53 { NOKIA_PCSUITE_ACM_INFO(0x01f5), }, /* Nokia N97, RM-505 */
54 { NOKIA_PCSUITE_ACM_INFO(0x02e3), }, /* Nokia 5230, RM-588 */
55 + { NOKIA_PCSUITE_ACM_INFO(0x0178), }, /* Nokia E63 */
56 + { NOKIA_PCSUITE_ACM_INFO(0x010e), }, /* Nokia E75 */
57 + { NOKIA_PCSUITE_ACM_INFO(0x02d9), }, /* Nokia 6760 Slide */
58 + { NOKIA_PCSUITE_ACM_INFO(0x01d0), }, /* Nokia E52 */
59 + { NOKIA_PCSUITE_ACM_INFO(0x0223), }, /* Nokia E72 */
60 + { NOKIA_PCSUITE_ACM_INFO(0x0275), }, /* Nokia X6 */
61 + { NOKIA_PCSUITE_ACM_INFO(0x026c), }, /* Nokia N97 Mini */
62 + { NOKIA_PCSUITE_ACM_INFO(0x0154), }, /* Nokia 5800 XpressMusic */
63 + { NOKIA_PCSUITE_ACM_INFO(0x04ce), }, /* Nokia E90 */
64 + { NOKIA_PCSUITE_ACM_INFO(0x01d4), }, /* Nokia E55 */
65 + { SAMSUNG_PCSUITE_ACM_INFO(0x6651), }, /* Samsung GTi8510 (INNOV8) */
66
67 /* NOTE: non-Nokia COMM/ACM/0xff is likely MSFT RNDIS... NOT a modem! */
68