mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 14:42:08 +02:00
SCSI fixes on 20230731
Three small fixes, all in drivers. Signed-off-by: James E.J. Bottomley <jejb@linux.ibm.com> -----BEGIN PGP SIGNATURE----- iJwEABMIAEQWIQTnYEDbdso9F2cI+arnQslM7pishQUCZMffbCYcamFtZXMuYm90 dG9tbGV5QGhhbnNlbnBhcnRuZXJzaGlwLmNvbQAKCRDnQslM7pishbQwAP443iHJ QxObdOIAoB0eQLtXlmmgS/TkSGjIu278qIsfSQEAzagC4bNt7RXzY1b61tz/OgFW sqsoEXGE6PBAbpj0FWk= =e77e -----END PGP SIGNATURE----- Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fixes from James Bottomley: "Three small fixes, all in drivers" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: scsi: pm80xx: Fix error return code in pm8001_pci_probe() scsi: zfcp: Defer fc_rport blocking until after ADISC response scsi: storvsc: Limit max_sectors for virtual Fibre Channel devices
This commit is contained in:
commit
79d65ee53b
|
|
@ -534,8 +534,7 @@ static void zfcp_fc_adisc_handler(void *data)
|
|||
|
||||
/* re-init to undo drop from zfcp_fc_adisc() */
|
||||
port->d_id = ntoh24(adisc_resp->adisc_port_id);
|
||||
/* port is good, unblock rport without going through erp */
|
||||
zfcp_scsi_schedule_rport_register(port);
|
||||
/* port is still good, nothing to do */
|
||||
out:
|
||||
atomic_andnot(ZFCP_STATUS_PORT_LINK_TEST, &port->status);
|
||||
put_device(&port->dev);
|
||||
|
|
@ -595,9 +594,6 @@ void zfcp_fc_link_test_work(struct work_struct *work)
|
|||
int retval;
|
||||
|
||||
set_worker_desc("zadisc%16llx", port->wwpn); /* < WORKER_DESC_LEN=24 */
|
||||
get_device(&port->dev);
|
||||
port->rport_task = RPORT_DEL;
|
||||
zfcp_scsi_rport_work(&port->rport_work);
|
||||
|
||||
/* only issue one test command at one time per port */
|
||||
if (atomic_read(&port->status) & ZFCP_STATUS_PORT_LINK_TEST)
|
||||
|
|
|
|||
|
|
@ -1181,7 +1181,8 @@ static int pm8001_pci_probe(struct pci_dev *pdev,
|
|||
pm80xx_set_thermal_config(pm8001_ha);
|
||||
}
|
||||
|
||||
if (pm8001_init_sas_add(pm8001_ha))
|
||||
rc = pm8001_init_sas_add(pm8001_ha);
|
||||
if (rc)
|
||||
goto err_out_shost;
|
||||
/* phy setting support for motherboard controller */
|
||||
rc = pm8001_configure_phy_settings(pm8001_ha);
|
||||
|
|
|
|||
|
|
@ -366,6 +366,7 @@ static void storvsc_on_channel_callback(void *context);
|
|||
#define STORVSC_FC_MAX_LUNS_PER_TARGET 255
|
||||
#define STORVSC_FC_MAX_TARGETS 128
|
||||
#define STORVSC_FC_MAX_CHANNELS 8
|
||||
#define STORVSC_FC_MAX_XFER_SIZE ((u32)(512 * 1024))
|
||||
|
||||
#define STORVSC_IDE_MAX_LUNS_PER_TARGET 64
|
||||
#define STORVSC_IDE_MAX_TARGETS 1
|
||||
|
|
@ -2006,6 +2007,9 @@ static int storvsc_probe(struct hv_device *device,
|
|||
* protecting it from any weird value.
|
||||
*/
|
||||
max_xfer_bytes = round_down(stor_device->max_transfer_bytes, HV_HYP_PAGE_SIZE);
|
||||
if (is_fc)
|
||||
max_xfer_bytes = min(max_xfer_bytes, STORVSC_FC_MAX_XFER_SIZE);
|
||||
|
||||
/* max_hw_sectors_kb */
|
||||
host->max_sectors = max_xfer_bytes >> 9;
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user