On Sun, Jun 26, 2005 at 06:37:11PM -0500, James Bottomley wrote: > On Sun, 2005-06-26 at 15:39 -0700, Andrew Morton wrote: > > : OK ... I looked ... and it's not pretty. The problem is that the 3ware > > : assumes certain commands (INQUIRY, READ_CAPACITY, MODE_SENSE + a few > > : others) are only generated internally and thus only have use_sg == 0. > > : The scsi-block-tree breaks this assumption because we're trying to > > : eliminate the use_sg == 0 special case. > > : > > : It's important to note that this behaviour is already broken, as anyone > > : using SG_IO to send commands to the device would have discovered. > > OK, I think the attached is the fix. It makes the 3w-xxxx routines > handle sg data. Can we verify it works first, and then we'll worry > about how many other internal command processing devices are broken in > this way. > This fix caused the following Oops + kernel panic: c0267437 tw_interrupt+0x317/0x480 c013ac9d handle_IRQ_event+0x3d/0x70 c013adb0 __do_IRQ+0xe0/0x170 c0104fc3 do_IRQ+0x23/0x40 c01031ce common_interrupt+0x1a/0x20 c0100ca6 default_idle+0x26/0x30 c0110bbc apm_cpu_idle+0xce/0x160 c0100d24 cpu_idle+0x34/0x50 c03947e5 start_kernel+0x165/0x180 c0394360 unknown_bootoption+0x0/0x1e0 I've manually copied that from the screen, so it can contain some typos. Thank you, Nick Orlov. -- With best wishes, Nick Orlov. - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html