diff options
author | Alan Stern <stern@rowland.harvard.edu> | 2005-11-03 11:44:49 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-01-04 13:48:29 -0800 |
commit | 6912354a895fcd234155273fe8838a0d83259a9b (patch) | |
tree | 6dca4969dda3fb177c62f18b12bfb6d2be4bb567 /drivers/usb/atm | |
parent | 959eea2191e8d74b16ef019b0f4bf875c14f4547 (diff) |
[PATCH] USB: EHCI: fix conflation of buf == 0 with len == 0
When the ehci-hcd driver prepares a control URB, it tests for a
zero-length data stage by looking at the transfer_dma value instead of
the transfer_buffer_length. (In fact it does this even for non-control
URBs, which is an additional aspect of the same bug.)
However, under certain circumstances it's possible for transfer_dma to
be 0 while transfer_buffer_length is non-zero. This can happen when a
freshly allocated page (mapped to address 0 and marked Copy-On-Write,
but never written to) is used as the source buffer for an OUT transfer.
This patch (as598) fixes the problem.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/atm')
0 files changed, 0 insertions, 0 deletions