OSDN Git Service

usb: wusbcore: don't mark WA_SEG_DTI_PENDING segs as done in urb_dequeue
authorThomas Pugliese <thomas.pugliese@gmail.com>
Tue, 4 Mar 2014 17:24:56 +0000 (11:24 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Mar 2014 20:39:39 +0000 (12:39 -0800)
commit5090ecea133325f762704f00963bca1b024ee691
treed2df02d31eacd3ea3cf1ca3e797c0667934c7a2c
parent2a6da97ff530650d26570a6a1ec0ac1deac927bd
usb: wusbcore: don't mark WA_SEG_DTI_PENDING segs as done in urb_dequeue

Data for transfer segments in the WA_SEG_DTI_PENDING state is actively
being read by the driver.  Let the buffer read callback handle the
transfer cleanup since cleaning it up in wa_urb_dequeue will cause the
read callback to access invalid memory if the transfer is completed.

Signed-off-by: Thomas Pugliese <thomas.pugliese@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/wusbcore/wa-xfer.c