Module Name: src Committed By: jdolecek Date: Mon Jul 3 19:54:44 UTC 2017
Modified Files: src/sys/dev/ata [jdolecek-ncq]: wd.c Log Message: reset xfer c_flags before retry, to clear flags like C_TIMEOU, or C_NCQ, so that retry, and no-NCQ downgrade logic actually works - drivers typically doesn't reset this field print number of retries to make it easier to spot the same xfer being retried several times in wddone(), hold the wd lock only when reading/changing wd softc structures, and not e.g. when calling malloc(), rnd_add_uint32() or ata_free_xfer(), which have their own locks; initially done to fix diagnostic assertion about held spin lock in kpause() within ata_reset_drive hook, but need to run that hook with AT_POLL anyway, since wddone() is typically invoked from interrupt context fix another interrupt context bug for WD_SOFTBADSECT - the malloc() needs to be called with M_NOWAIT To generate a diff of this commit: cvs rdiff -u -r1.428.2.24 -r1.428.2.25 src/sys/dev/ata/wd.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.