lkml.org 
[lkml]   [2012]   [May]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 2/3] usb: cp210x: Added in support to get and store part number
    Hello.

    On 01-05-2012 8:06, Preston Fick wrote:

    > This change gets the part number of the device when the driver is loaded and
    > stores it in the private portion of the port structure. This addition will
    > allow for part specific functionality to be added to the driver if needed.

    > Signed-off-by: Preston Fick<preston.fick@silabs.com>
    > ---
    > drivers/usb/serial/cp210x.c | 24 ++++++++++++++++++++++++
    > 1 files changed, 24 insertions(+), 0 deletions(-)

    > diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c
    > index e67ccf3..b3646b8 100644
    > --- a/drivers/usb/serial/cp210x.c
    > +++ b/drivers/usb/serial/cp210x.c
    [...]
    > @@ -862,6 +874,7 @@ static int cp210x_startup(struct usb_serial *serial)
    > {
    > struct cp210x_port_private *port_priv;
    > int i;
    > + unsigned int partNum;
    >
    > /* cp210x buffers behave strangely unless device is reset */
    > usb_reset_device(serial->dev);
    > @@ -876,6 +889,17 @@ static int cp210x_startup(struct usb_serial *serial)
    > serial->interface->cur_altsetting->desc.bInterfaceNumber;
    >
    > usb_set_serial_port_data(serial->port[i], port_priv);
    > +
    > + /* Get the 1-byte part number of the cp210x device */
    > + usb_control_msg(serial->dev,

    This may involve DMA...

    > + usb_rcvctrlpipe(serial->dev, 0),
    > + CP210X_VENDOR_SPECIFIC,
    > + REQTYPE_DEVICE_TO_HOST,
    > + CP210X_GET_PARTNUM,
    > + port_priv->bInterfaceNumber,
    > + &partNum, 1,

    You can't do DMA to a buffer situated on stack. You should kmalloc() the
    buffer.

    > + USB_CTRL_GET_TIMEOUT);
    > + port_priv->bPartNumber = partNum& 0xFF;
    > }
    >
    > return 0;

    WBR, Sergei


    \
     
     \ /
      Last update: 2012-05-01 18:21    [W:0.025 / U:60.792 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site