MFp4:
Report real max_target = 15. SIM doesn't need to know that target 15 is PMP. It is XPT business.
This commit is contained in:
parent
e06db1922d
commit
8e7cccb3bd
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=198322
@ -1212,7 +1212,8 @@ ata_scan_bus(struct cam_periph *periph, union ccb *request_ccb)
|
||||
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;
|
||||
|
@ -1967,7 +1967,7 @@ ahciaction(struct cam_sim *sim, union ccb *ccb)
|
||||
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;
|
||||
|
@ -1584,7 +1584,7 @@ siisaction(struct cam_sim *sim, union ccb *ccb)
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user