diff options
author | Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> | 2013-04-24 08:38:48 +0200 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2013-05-28 22:17:21 +0300 |
commit | ed74df12dc3e07a37d99aab60211496e871488a0 (patch) | |
tree | a3120bee76e30698158ece47090e16efc37ad236 /drivers/usb/musb/musb_host.h | |
parent | 5bf8fae33d14cc5c3c53a926f9079f92c8b082b0 (diff) |
usb: musb: make use_sg flag URB specific
Since highmem PIO URB handling was introduced in:
8e8a551 usb: musb: host: Handle highmem in PIO mode
when a URB is being handled it may happen that the static use_sg flag
was set by a previous URB with buffer in highmem. This leads to error
in handling the present URB.
Fix this by making the use_sg flag URB specific.
Cc: stable <stable@vger.kernel.org> # 3.7+
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com>
Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/musb/musb_host.h')
-rw-r--r-- | drivers/usb/musb/musb_host.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/musb/musb_host.h b/drivers/usb/musb/musb_host.h index 5a9c8feec10c..738f7eb60df9 100644 --- a/drivers/usb/musb/musb_host.h +++ b/drivers/usb/musb/musb_host.h @@ -74,6 +74,7 @@ struct musb_qh { u16 frame; /* for periodic schedule */ unsigned iso_idx; /* in urb->iso_frame_desc[] */ struct sg_mapping_iter sg_miter; /* for highmem in PIO mode */ + bool use_sg; /* to track urb using sglist */ }; /* map from control or bulk queue head to the first qh on that ring */ |