aboutsummaryrefslogtreecommitdiff
path: root/sys/cam/scsi/scsi_da.c
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2009-10-31 10:43:38 +0000
committerAlexander Motin <mav@FreeBSD.org>2009-10-31 10:43:38 +0000
commit1e637ba6770e6ae758073120d23b5fbf0f0ac2ef (patch)
treeafe2bf9beb5bf8430164a807b56424ff9b9192fb /sys/cam/scsi/scsi_da.c
parent4c88ba2d70047ac796158643c6ac487f5881dbd3 (diff)
downloadsrc-1e637ba6770e6ae758073120d23b5fbf0f0ac2ef.tar.gz
src-1e637ba6770e6ae758073120d23b5fbf0f0ac2ef.zip
MFp4:
- Reduce code duplication in ATA XPT and PMP driver. - Move PIO size setting from ada driver to ATA XPT. It is XPT business to negotiate transfer details. ada driver is now stateless. - Report PIO size to SIM. It is required for correct PATA SIM operation. - Tune PMP scan timings. It workarounds some problems with SiI. - If reset hapens during PMP initialization - restart it. - Introduce early-initialized periph drivers, which are used during initial scan process. Use it for xpt, probe, aprobe and pmp. It gives pmp chance to finish scan before mountroot and numerate devices in right order.
Notes
Notes: svn path=/head/; revision=198708
Diffstat (limited to 'sys/cam/scsi/scsi_da.c')
-rw-r--r--sys/cam/scsi/scsi_da.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c
index bb9299a4515c..8f740dcdfad2 100644
--- a/sys/cam/scsi/scsi_da.c
+++ b/sys/cam/scsi/scsi_da.c
@@ -1491,8 +1491,10 @@ dadone(struct cam_periph *periph, union ccb *done_ccb)
{
struct da_softc *softc;
struct ccb_scsiio *csio;
+ u_int32_t priority;
softc = (struct da_softc *)periph->softc;
+ priority = done_ccb->ccb_h.pinfo.priority;
csio = &done_ccb->csio;
switch (csio->ccb_h.ccb_state & DA_CCB_TYPE_MASK) {
case DA_CCB_BUFFER_IO:
@@ -1610,7 +1612,7 @@ dadone(struct cam_periph *periph, union ccb *done_ccb)
softc->state = DA_STATE_PROBE2;
free(rdcap, M_SCSIDA);
xpt_release_ccb(done_ccb);
- xpt_schedule(periph, /*priority*/5);
+ xpt_schedule(periph, priority);
return;
}
} else {