linux-kernel-test/drivers
Kai Makisara 787926b1b2 [SCSI] Fix st oops with new scsi_execute infrastructure
Patch from Kai minus last sg_segs clearing which was merged already.

> > Was there a oops or lockup or any debug output you can send me? I will try
> > some more large request tests with scsi_debug. You also have to compile your
> > kernel with SCSI_MAX_PHYS_SEGMENTS == 255 to get larger requests now.
>
It was an oops in sgl_unmap_user_pages(). The reason is this:

		/* XXX: just for debug. Remove when PageReserved is removed */
		BUG_ON(PageReserved(page));

I was using /dev/zero as input and it triggers this. When I used a file as
input, this did not trigger. Should this BUG_ON be removed?

In the same log I noticed that there was another ->sg_segs inconsistency.
Also, the field ->last_SRpnt was not reset when scsi_execute_async()
failed. This caused the error message "Async command already active"
later and prevented proper close.

While doing the changes, I noticed that the current code (since
2.6.0-test4) does not set the pages dirty when reading with direct i/o.

All of these st problems (including the one I sent earlier) are fixed in
the patch at the end of this message. These fixes should probably be
included already in 2.6.15.

After these fixes, the tape seems to operate as expected. Without other
changes, the largest block size with sym53c896 SCSI adapter is 384 kB. The
maximum number of sg segments is set to 96 and clustering is disabled in
the driver. 96 x 4 kB = 384 kB. OK.

I enabled clustering and set max_sectors to 10000 in the SCSI HBA driver.
Now the block size limit is 5000 kB as expected.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-12-15 15:17:03 -08:00
..
acorn [ARM] Turn ARM RiscPC PCF8583 i2c RTC driver into a proper module 2005-10-30 19:07:59 +00:00
acpi [PATCH] ACPI: fix sleeping whilst atomic warnings on resume 2005-12-12 08:57:45 -08:00
atm [ATM]: [adummy] dummy ATM driver (similar to net/dummy) 2005-11-29 16:17:11 -08:00
base [PATCH] Small fixes to driver core 2005-11-23 23:03:06 -08:00
block [PATCH] cciss: fix for deregister_disk 2005-12-12 22:31:16 -08:00
bluetooth [Bluetooth]: Add endian annotations to the core 2005-11-08 09:57:21 -08:00
cdrom [PATCH] drivers/cdrom: kmalloc + memset -> kzalloc conversion 2005-11-07 07:53:59 -08:00
char [drm] fix radeon aperture issue 2005-12-12 21:02:22 -08:00
connector [PATCH] Add timestamp field to process events 2005-12-12 08:57:42 -08:00
cpufreq [PATCH] clean up lock_cpu_hotplug() in cpufreq 2005-11-28 14:42:23 -08:00
crypto [PATCH] CONFIG_IA32 2005-10-30 17:37:10 -08:00
dio [PATCH] drivers/dio: kmalloc + memset -> kzalloc conversion 2005-11-07 07:53:59 -08:00
eisa [PATCH] drivers/eisa: kmalloc + memset -> kzalloc conversion 2005-11-07 07:53:59 -08:00
fc4 [PATCH] kfree cleanup: misc remaining drivers 2005-11-07 07:54:05 -08:00
firmware [PATCH] dell_rbu driver depends on x86[64] 2005-11-22 09:13:44 -08:00
hwmon [PATCH] hwmon: w83792d fix unused fan pins 2005-11-29 21:39:22 -08:00
i2c [PATCH] Fix IXP4xx I2C driver build breakage 2005-11-17 11:23:48 -08:00
ide [PATCH] ide: add missing __init tags to device drivers 2005-11-19 22:24:35 +01:00
ieee1394 sbp2_command_orb_lock must be held when accessing the _orb_inuse list. 2005-11-18 16:41:39 -05:00
infiniband IB/uverbs: track multicast group membership for userspace QPs 2005-11-29 16:57:01 -08:00
input Input: make serio and gameport more swsusp friendly 2005-11-20 00:56:43 -05:00
isdn [PARISC] Mark hisax and pcbit ISDN drivers as not for parisc 2005-11-18 16:20:10 -05:00
macintosh [PATCH] Fix windfarm model-id table 2005-12-09 15:42:17 +11:00
mca [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
md [SCSI] seperate max_sectors from max_hw_sectors 2005-12-15 15:11:40 -08:00
media [PATCH] V4L/DVB: (3151) I2C ID renamed to I2C_DRIVERID_INFRARED 2005-12-12 08:57:45 -08:00
message [SCSI] mptfusion - bump version 2005-12-13 18:41:48 -07:00
mfd [PATCH] input: fix ucb1x00-ts breakage after conversion to dynamic input_dev allocation 2005-12-12 08:57:45 -08:00
misc Merge master.kernel.org:/home/rmk/linux-2.6-drvmodel 2005-11-11 09:24:26 -08:00
mmc [MMC] Proper check of SCR error code 2005-12-05 10:00:50 +00:00
mtd [PATCH] blkmtd: use clear_page_dirty() 2005-12-12 08:57:41 -08:00
net [PATCH] skge: get rid of warning on race 2005-12-12 23:33:03 -05:00
nubus
oprofile
parisc [PARISC] Make superio.c initialize before any driver needs it 2005-11-17 16:44:57 -05:00
parport [PATCH] kfree cleanup: misc remaining drivers 2005-11-07 07:54:05 -08:00
pci [PATCH] PCI: kernel-doc fix for pci-acpi.c 2005-11-23 23:04:27 -08:00
pcmcia [PATCH] m32r: M3A-2170(Mappi-III) IDE support 2005-11-28 14:42:24 -08:00
pnp [PATCH] drivers/pnp/: cleanups 2005-11-07 07:54:09 -08:00
rapidio [PATCH] rapidio: message interface updates 2005-11-07 07:53:47 -08:00
s390 [SCSI] zfcp: fix return code of zfcp_scsi_slave_alloc 2005-12-01 15:59:49 -06:00
sbus [SPARC]: drivers/sbus/char/aurora.c: "extern inline" -> "static inline" 2005-11-22 15:30:29 -08:00
scsi [SCSI] Fix st oops with new scsi_execute infrastructure 2005-12-15 15:17:03 -08:00
serial [SERIAL] 8250_pci: Remove redundant assignment, and mark fallthrough. 2005-12-07 18:11:26 +00:00
sh [PATCH] superhyway: multiple block support and VCR rework 2005-11-07 07:53:28 -08:00
sn
tc [MIPS] zs.c: Resurrect the deceased zs.c for now. 2005-11-17 16:23:39 +00:00
telephony [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
usb [PATCH] USB: ehci fixups 2005-11-29 21:39:23 -08:00
video [PATCH] fbdev: Fix incorrect unaligned access in little-endian machines 2005-12-12 22:31:17 -08:00
w1 [PATCH] kfree cleanup: misc remaining drivers 2005-11-07 07:54:05 -08:00
zorro [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
Kconfig
Makefile Link USB drivers later in the kernel 2005-12-03 20:50:51 -08:00