lkml.org 
[lkml]   [2007]   [Jan]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 2.6.20-rc5 01/01] usb: Sierra Wireless auto set D0
    from: Kevin Lloyd <linux@sierrawireless.com>

    This patch ensures that the device is turned on when inserted into the system.
    It also adds more VID/PIDs and matches the N_OUT_URB with the airprime driver.

    Signed-off-by: Kevin Lloyd <linux@sierrawireless.com>

    ---

    --- linux-2.6.20-rc5/drivers/usb/serial/sierra.c.orig 2007-01-15 15:17:15.000000000 -0800
    +++ linux-2.6.20-rc5/drivers/usb/serial/sierra.c 2007-01-17 15:41:59.000000000 -0800
    @@ -13,10 +13,9 @@
    Portions based on the option driver by Matthias Urlichs <smurf@smurf.noris.de>
    Whom based his on the Keyspan driver by Hugh Blemings <hugh@blemings.org>

    - History:
    */

    -#define DRIVER_VERSION "v.1.0.5"
    +#define DRIVER_VERSION "v.1.0.6"
    #define DRIVER_AUTHOR "Kevin Lloyd <linux@sierrawireless.com>"
    #define DRIVER_DESC "USB Driver for Sierra Wireless USB modems"

    @@ -31,14 +30,15 @@


    static struct usb_device_id id_table [] = {
    + { USB_DEVICE(0x1199, 0x0017) }, /* Sierra Wireless EM5625 */
    { USB_DEVICE(0x1199, 0x0018) }, /* Sierra Wireless MC5720 */
    + { USB_DEVICE(0x1199, 0x0218) }, /* Sierra Wireless MC5720 */
    { USB_DEVICE(0x1199, 0x0020) }, /* Sierra Wireless MC5725 */
    - { USB_DEVICE(0x1199, 0x0017) }, /* Sierra Wireless EM5625 */
    { USB_DEVICE(0x1199, 0x0019) }, /* Sierra Wireless AirCard 595 */
    - { USB_DEVICE(0x1199, 0x0218) }, /* Sierra Wireless MC5720 */
    + { USB_DEVICE(0x1199, 0x0021) }, /* Sierra Wireless AirCard 597E */
    { USB_DEVICE(0x1199, 0x6802) }, /* Sierra Wireless MC8755 */
    + { USB_DEVICE(0x1199, 0x6804) }, /* Sierra Wireless MC8755 */
    { USB_DEVICE(0x1199, 0x6803) }, /* Sierra Wireless MC8765 */
    - { USB_DEVICE(0x1199, 0x6804) }, /* Sierra Wireless MC8755 for Europe */
    { USB_DEVICE(0x1199, 0x6812) }, /* Sierra Wireless MC8775 */
    { USB_DEVICE(0x1199, 0x6820) }, /* Sierra Wireless AirCard 875 */

    @@ -55,14 +55,15 @@ static struct usb_device_id id_table_1po
    };

    static struct usb_device_id id_table_3port [] = {
    + { USB_DEVICE(0x1199, 0x0017) }, /* Sierra Wireless EM5625 */
    { USB_DEVICE(0x1199, 0x0018) }, /* Sierra Wireless MC5720 */
    + { USB_DEVICE(0x1199, 0x0218) }, /* Sierra Wireless MC5720 */
    { USB_DEVICE(0x1199, 0x0020) }, /* Sierra Wireless MC5725 */
    - { USB_DEVICE(0x1199, 0x0017) }, /* Sierra Wireless EM5625 */
    { USB_DEVICE(0x1199, 0x0019) }, /* Sierra Wireless AirCard 595 */
    - { USB_DEVICE(0x1199, 0x0218) }, /* Sierra Wireless MC5720 */
    + { USB_DEVICE(0x1199, 0x0021) }, /* Sierra Wireless AirCard 597E */
    { USB_DEVICE(0x1199, 0x6802) }, /* Sierra Wireless MC8755 */
    + { USB_DEVICE(0x1199, 0x6804) }, /* Sierra Wireless MC8755 */
    { USB_DEVICE(0x1199, 0x6803) }, /* Sierra Wireless MC8765 */
    - { USB_DEVICE(0x1199, 0x6804) }, /* Sierra Wireless MC8755 for Europe */
    { USB_DEVICE(0x1199, 0x6812) }, /* Sierra Wireless MC8775 */
    { USB_DEVICE(0x1199, 0x6820) }, /* Sierra Wireless AirCard 875 */
    { }
    @@ -81,7 +82,7 @@ static int debug;

    /* per port private data */
    #define N_IN_URB 4
    -#define N_OUT_URB 1
    +#define N_OUT_URB 4
    #define IN_BUFLEN 4096
    #define OUT_BUFLEN 128

    @@ -396,6 +397,8 @@ static int sierra_open(struct usb_serial
    struct usb_serial *serial = port->serial;
    int i, err;
    struct urb *urb;
    + int result;
    + __u16 set_mode_dzero = 0x0000;

    portdata = usb_get_serial_port_data(port);

    @@ -442,6 +445,11 @@ static int sierra_open(struct usb_serial

    port->tty->low_latency = 1;

    + /*set mode to D0 */
    + result = usb_control_msg(serial->dev,
    + usb_rcvctrlpipe(serial->dev, 0),
    + 0x00,0x40,set_mode_dzero,0,NULL,0,USB_CTRL_SET_TIMEOUT);
    +
    sierra_send_setup(port);

    return (0);

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-01-18 01:55    [W:0.049 / U:0.092 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site