lkml.org 
[lkml]   [2009]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 12/14] USB: oti6858: fix DMA buffer on stack
    Date

    Signed-off-by: Johan Hovold <jhovold@gmail.com>
    ---
    drivers/usb/serial/oti6858.c | 13 ++++++++++---
    1 files changed, 10 insertions(+), 3 deletions(-)
    diff --git a/drivers/usb/serial/oti6858.c b/drivers/usb/serial/oti6858.c
    index c644e26..2ae97e7 100644
    --- a/drivers/usb/serial/oti6858.c
    +++ b/drivers/usb/serial/oti6858.c
    @@ -302,7 +302,7 @@ void send_data(struct work_struct *work)
    struct usb_serial_port *port = priv->port;
    int count = 0, result;
    unsigned long flags;
    - unsigned char allow;
    + u8 *allow;

    dbg("%s(port = %d)", __func__, port->number);

    @@ -321,13 +321,20 @@ void send_data(struct work_struct *work)
    count = port->bulk_out_size;

    if (count != 0) {
    + allow = kmalloc(1, GFP_KERNEL);
    + if (!allow) {
    + dev_err(&port->dev, "%s(): kmalloc failed\n",
    + __func__);
    + return;
    + }
    result = usb_control_msg(port->serial->dev,
    usb_rcvctrlpipe(port->serial->dev, 0),
    OTI6858_REQ_T_CHECK_TXBUFF,
    OTI6858_REQ_CHECK_TXBUFF,
    - count, 0, &allow, 1, 100);
    - if (result != 1 || allow != 0)
    + count, 0, allow, 1, 100);
    + if (result != 1 || *allow != 0)
    count = 0;
    + kfree(allow);
    }

    if (count == 0) {
    --
    1.6.6


    \
     
     \ /
      Last update: 2009-12-28 23:07    [W:0.217 / U:0.420 seconds]
    ©2003-2014 Jasper Spaans. hosted at Digital Ocean