kernel-ark/drivers
Stefan Richter 09ee67abe9 ieee1394: sbp2: handle "sbp2util_node_write_no_wait failed"
Fix for http://bugzilla.kernel.org/show_bug.cgi?id=6948

Because sbp2 writes to the target's fetch agent's registers from within
atomic context, it cannot sleep to guaranteedly get a free transaction
label.  This may repeatedly lead to "sbp2util_node_write_no_wait failed"
and consequently to SCSI command abortion after timeout.  A likely cause
is that many queue_command softirqs may occur before khpsbpkt (the
ieee1394 driver's thread which cleans up after finished transactions) is
woken up to recycle tlabels.

Sbp2 now schedules a workqueue job whenever sbp2_link_orb_command fails
in sbp2util_node_write_no_wait.  The job will reliably get a transaction
label because it can sleep.

We use the kernel-wide shared workqueue because it is unlikely that the
job itself actually needs to sleep.  In the improbable case that it has
to sleep, it doesn't need to sleep long since the standard transaction
timeout is 100ms.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-09-17 19:34:14 +02:00
..
acorn
acpi Merge trivial low-risk suspend hotkey bugzilla-5918 into release 2006-08-20 21:49:29 -04:00
amba
atm
base [PATCH] /proc/meminfo: don't put spaces in names 2006-08-27 11:01:33 -07:00
block [PATCH] cciss: version update, new hw 2006-09-13 07:32:16 -07:00
bluetooth
cdrom [PATCH] cdrom/gdsc: fix printk format warning 2006-08-27 11:01:33 -07:00
char [PATCH] IPMI: fix handling of OEM flags 2006-09-16 12:54:31 -07:00
clocksource
connector
cpufreq
crypto
dio
dma
edac
eisa
fc4
firmware
hwmon [PATCH] hwmon: abituguru timeout fixes 2006-08-26 13:05:19 -07:00
i2c [PATCH] i2c: tps65010 build fixes 2006-08-26 13:05:12 -07:00
ide [PATCH] alim15x3.c: M5229 (rev c8) support for DMA cd-writer 2006-09-13 07:32:14 -07:00
ieee1394 ieee1394: sbp2: handle "sbp2util_node_write_no_wait failed" 2006-09-17 19:34:14 +02:00
infiniband RDMA/cma: Increase the IB CM retry count in CMA 2006-09-14 13:55:30 -07:00
input Input: psmouse - fix Intellimouse 4.0 initialization 2006-08-23 00:48:03 -04:00
isdn
leds
macintosh [PATCH] backlight last round of fixes 2006-09-01 11:39:10 -07:00
mca
md [PATCH] md: Fix issues with referencing rdev in md/raid1 2006-09-01 11:39:08 -07:00
media V4L/DVB (4608c): Fix I2C dependencies for saa7146 modules 2006-09-10 13:46:01 -03:00
message
mfd
misc
mmc [MMC] Always use a sector size of 512 bytes 2006-09-07 16:01:30 +01:00
mtd [PATCH] MTD NAND: OOB buffer offset fixups 2006-09-16 12:54:32 -07:00
net [PATCH] mv643xx_eth: Unmap DMA buffers in receive path 2006-09-13 12:26:03 -04:00
nubus
oprofile
parisc
parport
pci USB: Add VIA quirk fixup for VT8235 usb2 2006-08-31 18:04:30 -07:00
pcmcia
pnp
rapidio
rtc [PATCH] rtc-s3c.c: fix time setting checks 2006-08-27 11:01:28 -07:00
s390 [PATCH] s390: qeth driver fixes [6/6] 2006-09-17 01:03:08 -04:00
sbus
scsi [PATCH] SCSI: lockdep annotation in scsi_send_eh_cmnd 2006-09-13 07:32:14 -07:00
serial sh64: Trivial build fixes. 2006-09-12 14:36:46 +09:00
sh
sn
spi
tc
telephony
usb USB: Fix unload oops and memory leak in yealink driver 2006-09-12 03:10:21 -07:00
video [PATCH] backlight last round of fixes 2006-09-01 11:39:10 -07:00
w1
zorro
Kconfig
Makefile