Module Name: src Committed By: mlelstv Date: Thu Aug 27 05:51:50 UTC 2015
Modified Files: src/sys/arch/xen/xen: xbd_xenbus.c src/sys/dev: cgd.c dksubr.c dkvar.h ld.c Log Message: Make dksubr use a spin-mutex again, since some drivers still call dk_done from hardware interrupt. Instead, release mutex while calling start routine. The buffer peek/use/get sequence which can no longer be atomic. So consume the buffer directly and on error privately save and retry the buffer later. The dk_drain function is used to flush such a deferred buffer together with the buffer queue. Adjust drivers to use dk_drain. Fix an error path where dk_done was called while the lock was already held. To generate a diff of this commit: cvs rdiff -u -r1.72 -r1.73 src/sys/arch/xen/xen/xbd_xenbus.c cvs rdiff -u -r1.103 -r1.104 src/sys/dev/cgd.c cvs rdiff -u -r1.73 -r1.74 src/sys/dev/dksubr.c cvs rdiff -u -r1.21 -r1.22 src/sys/dev/dkvar.h cvs rdiff -u -r1.91 -r1.92 src/sys/dev/ld.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.