svn commit: r198322 - in head/sys: cam/ata dev/ahci dev/siis
Alexander Motin
mav at FreeBSD.org
Wed Oct 21 13:00:02 UTC 2009
Author: mav
Date: Wed Oct 21 13:00:01 2009
New Revision: 198322
URL: http://svn.freebsd.org/changeset/base/198322
Log:
MFp4:
Report real max_target = 15. SIM doesn't need to know that target 15 is PMP.
It is XPT business.
Modified:
head/sys/cam/ata/ata_xpt.c
head/sys/dev/ahci/ahci.c
head/sys/dev/siis/siis.c
Modified: head/sys/cam/ata/ata_xpt.c
==============================================================================
--- head/sys/cam/ata/ata_xpt.c Wed Oct 21 12:47:39 2009 (r198321)
+++ head/sys/cam/ata/ata_xpt.c Wed Oct 21 13:00:01 2009 (r198322)
@@ -1212,7 +1212,8 @@ ata_scan_bus(struct cam_periph *periph,
take_next:
/* Take next device. Wrap from 15 (PM) to 0. */
scan_info->counter = (scan_info->counter + 1 ) & 0x0f;
- if (scan_info->counter >= scan_info->cpi->max_target+1) {
+ if (scan_info->counter > scan_info->cpi->max_target -
+ ((scan_info->cpi->hba_inquiry & PI_SATAPM) ? 1 : 0)) {
xpt_free_ccb(work_ccb);
xpt_free_ccb((union ccb *)scan_info->cpi);
request_ccb = scan_info->request_ccb;
Modified: head/sys/dev/ahci/ahci.c
==============================================================================
--- head/sys/dev/ahci/ahci.c Wed Oct 21 12:47:39 2009 (r198321)
+++ head/sys/dev/ahci/ahci.c Wed Oct 21 13:00:01 2009 (r198322)
@@ -1967,7 +1967,7 @@ ahciaction(struct cam_sim *sim, union cc
cpi->hba_misc = PIM_SEQSCAN;
cpi->hba_eng_cnt = 0;
if (ch->caps & AHCI_CAP_SPM)
- cpi->max_target = 14;
+ cpi->max_target = 15;
else
cpi->max_target = 0;
cpi->max_lun = 0;
Modified: head/sys/dev/siis/siis.c
==============================================================================
--- head/sys/dev/siis/siis.c Wed Oct 21 12:47:39 2009 (r198321)
+++ head/sys/dev/siis/siis.c Wed Oct 21 13:00:01 2009 (r198322)
@@ -1584,7 +1584,7 @@ siisaction(struct cam_sim *sim, union cc
cpi->target_sprt = 0;
cpi->hba_misc = PIM_SEQSCAN;
cpi->hba_eng_cnt = 0;
- cpi->max_target = 14;
+ cpi->max_target = 15;
cpi->max_lun = 0;
cpi->initiator_id = 0;
cpi->bus_id = cam_sim_bus(sim);
More information about the svn-src-all
mailing list