]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob
8c3b1c958717e25721a5b0aa492e77a7e2dd9f6c
[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 @@ -1487,6 +1487,11 @@ static int acm_reset_resume(struct usb_i
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 @@ -1597,6 +1602,17 @@ static const struct usb_device_id acm_id
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