pvscsi: maximum target number is one less than number of targets

Fix the number of targets we inquiry to be one less than the maximum
number of targets adapter reports.  This gets rid of the errors reported
on VMware Workstation:

(probe36:pvscsi0:0:65:0): INQUIRY. CDB: 12 00 00 00 24 00
(probe36:pvscsi0:0:65:0): CAM status: CCB request completed with an error

While here, print the maximum number of targets.

Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D39867
This commit is contained in:
Yuri Pankov 2023-05-05 11:48:57 +02:00
parent fff1551c03
commit 6abf81b3d6

View File

@ -1412,7 +1412,7 @@ pvscsi_action(struct cam_sim *sim, union ccb *ccb)
cpi->hba_misc = PIM_NOBUSRESET | PIM_UNMAPPED;
cpi->hba_eng_cnt = 0;
/* cpi->vuhba_flags = 0; */
cpi->max_target = sc->max_targets;
cpi->max_target = sc->max_targets - 1;
cpi->max_lun = 0;
cpi->async_flags = 0;
cpi->hpath_id = 0;
@ -1684,6 +1684,7 @@ pvscsi_attach(device_t dev)
PVSCSI_MAX_REQ_QUEUE_DEPTH);
device_printf(sc->dev, "Use Msg: %d\n", sc->use_msg);
device_printf(sc->dev, "Max targets: %d\n", sc->max_targets);
device_printf(sc->dev, "REQ num pages: %d\n", sc->req_ring_num_pages);
device_printf(sc->dev, "CMP num pages: %d\n", sc->cmp_ring_num_pages);
device_printf(sc->dev, "MSG num pages: %d\n", sc->msg_ring_num_pages);