linux_dsm_epyc7002/drivers
David Brownell 77078570ab [PATCH] USB: ehci-hcd - fix page pointer allocation in itd_patch()
The itd_patch() function is responsible for allocating entries in the
buffer page pointer list of the iTD.  Particularly, a new page pointer
is needed every time when buffer data crosses a page boundary.

However, there is a bug in the allocation logic: the function does not
allocate a new entry when the current transaction is the first
transaction in the iTD (as indicated by first!=0).

The consequence is that, when the data of the first transaction begins
somewhere at the end of a page so that it actually does cross the page
boundary, no new page pointer is allocated.  This means that the data
at the end of the first transaction (beyond the page boundary) will be
accessed by the HC using the second page pointer, which is zero.
Furthermore, the first page pointer will be later overwritten by the
page pointers of the other transactions, which will garble it because
the value is or-ed into the iTD field.

All this particular check (for !first) does is cause incorrect
behaviour, so it should be entirely removed (and with it the variable
first that is not used for anything else).

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-06-27 14:44:00 -07:00
..
acorn [PATCH] I2C: Kill address ranges in non-sensors i2c chip drivers 2005-06-21 21:51:48 -07:00
acpi [PATCH] suspend/resume SMP support 2005-06-25 16:24:32 -07:00
atm [ATM]: [drivers] kill pointless NULL checks and casts before kfree() 2005-06-02 13:04:07 -07:00
base [PATCH] generate hotplug events for cpu online 2005-06-25 16:24:31 -07:00
block Merge Christoph's freeze cleanup patch 2005-06-25 17:16:53 -07:00
bluetooth [PATCH] Convert users to tty_unregister_ldisc() 2005-06-23 09:45:36 -07:00
cdrom [PATCH] drivers/cdrom/cm206.c: cleanups 2005-06-25 16:25:07 -07:00
char Merge 'drm-3264' branch of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2005-06-26 09:55:39 -07:00
cpufreq [PATCH] sysfs: (rest) if show/store is missing return -EIO 2005-06-20 15:15:03 -07:00
crypto Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dio [PATCH] Driver Core: drivers/base - drivers/i2c/chips/adm1026.c: update device attribute callbacks 2005-06-20 15:15:32 -07:00
eisa [PATCH] Driver Core: drivers/base - drivers/i2c/chips/adm1026.c: update device attribute callbacks 2005-06-20 15:15:32 -07:00
fc4 fc4/fc: fix warnings and errors related to recent SCSI EH updates 2005-06-19 21:47:56 -04:00
firmware [PATCH] kfree cleanups for drivers/firmware/ 2005-06-25 16:25:06 -07:00
i2c [PATCH] I2C-MPC: Remove OCP device model support 2005-06-25 16:24:27 -07:00
ide [PATCH] IDE CD reports current speed 2005-06-23 09:45:35 -07:00
ieee1394 [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
infiniband [PATCH] sysfs: (rest) if show/store is missing return -EIO 2005-06-20 15:15:03 -07:00
input Merge Christoph's freeze cleanup patch 2005-06-25 17:16:53 -07:00
isdn [PATCH] drivers/isdn/hisax/: possible cleanups 2005-06-25 16:25:07 -07:00
macintosh [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
mca [PATCH] unexport mca_find_device_by_slot 2005-06-25 16:24:56 -07:00
md [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
media Merge Christoph's freeze cleanup patch 2005-06-25 17:16:53 -07:00
message [PATCH] tpm: device attribute fixes 2005-06-24 00:05:29 -07:00
misc [PATCH] ibmasm driver: fix race in command refcount logic 2005-06-21 19:07:35 -07:00
mmc [PATCH] Driver Core: drivers/i2c/chips/w83781d.c - drivers/s390/block/dcssblk.c: update device attribute callbacks 2005-06-20 15:15:34 -07:00
mtd [PATCH] fix u32 vs. pm_message_t in drivers/mmc,mtd,scsi 2005-04-16 15:25:29 -07:00
net [PATCH] DM9000 network driver bugfix 2005-06-26 18:37:26 -04:00
nubus Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
oprofile [PATCH] oprofile: report anonymous region samples 2005-06-24 00:06:27 -07:00
parisc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
parport [PATCH] parport: NetMos nm9855 fix 2005-06-23 09:45:27 -07:00
pci [PATCH] PCI: fix show_modalias() function due to attribute change 2005-06-20 15:28:51 -07:00
pcmcia [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
pnp [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
s390 [PATCH] s390: debug feature changes 2005-06-25 16:24:37 -07:00
sbus [SPARC]: Eliminate local MIN/MAX macros in drivers/sbus/char/aurora.c 2005-05-15 16:01:50 -07:00
scsi [PATCH] drivers/scsi/dpt*: remove version.h dependencies 2005-06-25 16:25:03 -07:00
serial [PATCH] serial/68328serial: replace schedule_timeout() with msleep_interruptible() 2005-06-25 16:25:10 -07:00
sh [PATCH] Driver Core: drivers/s390/net/qeth_sys.c - drivers/usb/gadget/pxa2xx_udc.c: update device attribute callbacks 2005-06-20 15:15:35 -07:00
sn [PATCH] ioc4: PCI bus speed detection 2005-06-21 18:46:32 -07:00
tc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
telephony [PATCH] kfree cleanups in ixj.c 2005-06-25 16:25:06 -07:00
usb [PATCH] USB: ehci-hcd - fix page pointer allocation in itd_patch() 2005-06-27 14:44:00 -07:00
video [PATCH] drivers/video/matrox/matroxfb_misc.c: remove dead code 2005-06-25 16:25:04 -07:00
w1 [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
zorro [PATCH] Driver Core: drivers/usb/input/aiptek.c - drivers/zorro/zorro-sysfs.c: update device attribute callbacks 2005-06-20 15:15:35 -07:00
Kconfig [PATCH] ioc4: CONFIG split 2005-06-21 18:46:32 -07:00
Makefile [PATCH] ioc4: CONFIG split 2005-06-21 18:46:32 -07:00