lkml.org 
[lkml]   [2012]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[ 09/37] USB: kaweth.c: use GFP_ATOMIC under spin_lock
    3.2-stable review patch.  If anyone has any objections, please let me know.

    ------------------
    From: Dan Carpenter <dan.carpenter@oracle.com>

    [ Upstream commit e4c7f259c5be99dcfc3d98f913590663b0305bf8 ]

    The problem is that we call this with a spin lock held. The call tree
    is:
    kaweth_start_xmit() holds kaweth->device_lock.
    -> kaweth_async_set_rx_mode()
    -> kaweth_control()
    -> kaweth_internal_control_msg()

    The kaweth_internal_control_msg() function is only called from
    kaweth_control() which used GFP_ATOMIC for its allocations.

    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    drivers/net/usb/kaweth.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)
    diff --git a/drivers/net/usb/kaweth.c b/drivers/net/usb/kaweth.c
    index 582ca2d..c4c6a73 100644
    --- a/drivers/net/usb/kaweth.c
    +++ b/drivers/net/usb/kaweth.c
    @@ -1308,7 +1308,7 @@ static int kaweth_internal_control_msg(struct usb_device *usb_dev,
    int retv;
    int length = 0; /* shut up GCC */

    - urb = usb_alloc_urb(0, GFP_NOIO);
    + urb = usb_alloc_urb(0, GFP_ATOMIC);
    if (!urb)
    return -ENOMEM;




    \
     
     \ /
      Last update: 2012-08-17 06:21    [from the cache]
    ©2003-2011 Jasper Spaans