The device ID obtained from the inquiry can only be of a single type. The
original
code places a check for TYPE_ZBC right after the check for TYPE_DISK. Logically,
if the first if statement sees a device of a TYPE_DISK and moves on to the
second
statement checking if not TYPE_ZBC, it will always hit the continue.
--- linux/drivers/scsi/hpsa.c.orig 2016-04-27 21:43:44.463140419 -0500
+++ linux/drivers/scsi/hpsa.c 2016-04-27 22:45:31.015140419 -0500
@@ -1637,9 +1637,8 @@ static void hpsa_figure_phys_disk_ptrs(s
for (j = 0; j < ndevices; j++) {
if (dev[j] == NULL)
continue;
- if (dev[j]->devtype != TYPE_DISK)
- continue;
- if (dev[j]->devtype != TYPE_ZBC)
+ if ((dev[j]->devtype != TYPE_DISK) &&
+ (dev[j]->devtype != TYPE_ZBC))
continue;
if (is_logical_device(dev[j]))
continue;
@@ -1684,9 +1683,8 @@ static void hpsa_update_log_drive_phys_d
for (i = 0; i < ndevices; i++) {
if (dev[i] == NULL)
continue;
- if (dev[i]->devtype != TYPE_DISK)
- continue;
- if (dev[i]->devtype != TYPE_ZBC)
+ if ((dev[i]->devtype != TYPE_DISK) &&
+ (dev[i]->devtype != TYPE_ZBC))
continue;
if (!is_logical_device(dev[i]))
continue;
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html