* [PATCH 0/5] hpsa updates
@ 2016-09-09 21:30 Don Brace
2016-09-09 21:30 ` [PATCH 1/5] hpsa: determine device external status earlier Don Brace
` (5 more replies)
0 siblings, 6 replies; 9+ messages in thread
From: Don Brace @ 2016-09-09 21:30 UTC (permalink / raw)
To: jejb, john.hall, Kevin.Barnett, Mahesh.Rajashekhara, hch,
scott.teel, Viswas.G, Justin.Lindley, scott.benesh, elliott
Cc: linux-scsi
The following changes are based on Linus's tree:
- correct minor bug created when adding hpsa_skip_device
- add check for null devices do to configuration changes
- add check for null devices in ioaccel path
- add check for vpd support
- stop sending bmic commands to externals
---
Don Brace (3):
hpsa: determine device external status earlier
hpsa: check for null device pointers
hpsa: check for null devices in ioaccel submission patch
Scott Teel (2):
hpsa: check for vpd support before sending
hpsa: prevent sending bmic commands to externals
drivers/scsi/hpsa.c | 117 +++++++++++++++++++++++++++++++++++++++--------
drivers/scsi/hpsa_cmd.h | 1
2 files changed, 99 insertions(+), 19 deletions(-)
--
Signature
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/5] hpsa: determine device external status earlier
2016-09-09 21:30 [PATCH 0/5] hpsa updates Don Brace
@ 2016-09-09 21:30 ` Don Brace
2016-09-09 21:30 ` [PATCH 2/5] hpsa: check for null device pointers Don Brace
` (4 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Don Brace @ 2016-09-09 21:30 UTC (permalink / raw)
To: jejb, john.hall, Kevin.Barnett, Mahesh.Rajashekhara, hch,
scott.teel, Viswas.G, Justin.Lindley, scott.benesh, elliott
Cc: linux-scsi
currently we are checking for external status before
we are determining if a device is an external device.
Reviewed-by: Scott Benesh <scott.benest@microsemi.com>
Reviewed-by: Scott Teel <scott.teel@microsemi.com>
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com>
Signed-off-by: Don Brace <don.brace@microsemi.com>
---
drivers/scsi/hpsa.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 030d002..332ff1a 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -4270,6 +4270,11 @@ static void hpsa_update_scsi_devices(struct ctlr_info *h)
lunaddrbytes = figure_lunaddrbytes(h, raid_ctlr_position,
i, nphysicals, nlogicals, physdev_list, logdev_list);
+ /* Determine if this is a lun from an external target array */
+ tmpdevice->external =
+ figure_external_status(h, raid_ctlr_position, i,
+ nphysicals, nlocal_logicals);
+
/*
* Skip over some devices such as a spare.
*/
@@ -4295,11 +4300,6 @@ static void hpsa_update_scsi_devices(struct ctlr_info *h)
continue;
}
- /* Determine if this is a lun from an external target array */
- tmpdevice->external =
- figure_external_status(h, raid_ctlr_position, i,
- nphysicals, nlocal_logicals);
-
figure_bus_target_lun(h, lunaddrbytes, tmpdevice);
hpsa_update_device_supports_aborts(h, tmpdevice, lunaddrbytes);
this_device = currentsd[ncurrent];
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/5] hpsa: check for null device pointers
2016-09-09 21:30 [PATCH 0/5] hpsa updates Don Brace
2016-09-09 21:30 ` [PATCH 1/5] hpsa: determine device external status earlier Don Brace
@ 2016-09-09 21:30 ` Don Brace
2016-09-09 21:30 ` [PATCH 3/5] hpsa: check for vpd support before sending Don Brace
` (3 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Don Brace @ 2016-09-09 21:30 UTC (permalink / raw)
To: jejb, john.hall, Kevin.Barnett, Mahesh.Rajashekhara, hch,
scott.teel, Viswas.G, Justin.Lindley, scott.benesh, elliott
Cc: linux-scsi
A device can be deleted causing NULL pointer issues.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com>
Reviewed-by: Scott Teel <scott.teel@microsemi.com>
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com>
Signed-off-by: Don Brace <don.brace@microsemi.com>
---
drivers/scsi/hpsa.c | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 332ff1a..97f50c7 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -2388,7 +2388,8 @@ static void hpsa_cmd_free_and_done(struct ctlr_info *h,
struct CommandList *c, struct scsi_cmnd *cmd)
{
hpsa_cmd_resolve_and_free(h, c);
- cmd->scsi_done(cmd);
+ if (cmd && cmd->scsi_done)
+ cmd->scsi_done(cmd);
}
static void hpsa_retry_cmd(struct ctlr_info *h, struct CommandList *c)
@@ -2489,6 +2490,12 @@ static void complete_scsi_command(struct CommandList *cp)
ei = cp->err_info;
cmd = cp->scsi_cmd;
h = cp->h;
+
+ if (!cmd->device) {
+ cmd->result = DID_NO_CONNECT << 16;
+ return hpsa_cmd_free_and_done(h, cp, cmd);
+ }
+
dev = cmd->device->hostdata;
c2 = &h->ioaccel2_cmd_pool[cp->cmdindex];
@@ -2504,8 +2511,15 @@ static void complete_scsi_command(struct CommandList *cp)
cmd->result = (DID_OK << 16); /* host byte */
cmd->result |= (COMMAND_COMPLETE << 8); /* msg byte */
- if (cp->cmd_type == CMD_IOACCEL2 || cp->cmd_type == CMD_IOACCEL1)
- atomic_dec(&cp->phys_disk->ioaccel_cmds_out);
+ if (cp->cmd_type == CMD_IOACCEL2 || cp->cmd_type == CMD_IOACCEL1) {
+ if (dev->physical_device && dev->expose_device &&
+ dev->removed) {
+ cmd->result = DID_NO_CONNECT << 16;
+ return hpsa_cmd_free_and_done(h, cp, cmd);
+ }
+ if (likely(cp->phys_disk != NULL))
+ atomic_dec(&cp->phys_disk->ioaccel_cmds_out);
+ }
/*
* We check for lockup status here as it may be set for
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/5] hpsa: check for vpd support before sending
2016-09-09 21:30 [PATCH 0/5] hpsa updates Don Brace
2016-09-09 21:30 ` [PATCH 1/5] hpsa: determine device external status earlier Don Brace
2016-09-09 21:30 ` [PATCH 2/5] hpsa: check for null device pointers Don Brace
@ 2016-09-09 21:30 ` Don Brace
2016-09-10 3:05 ` kbuild test robot
2016-09-10 3:05 ` [PATCH] hpsa: fix boolreturn.cocci warnings kbuild test robot
2016-09-09 21:30 ` [PATCH 4/5] hpsa: prevent sending bmic commands to externals Don Brace
` (2 subsequent siblings)
5 siblings, 2 replies; 9+ messages in thread
From: Don Brace @ 2016-09-09 21:30 UTC (permalink / raw)
To: jejb, john.hall, Kevin.Barnett, Mahesh.Rajashekhara, hch,
scott.teel, Viswas.G, Justin.Lindley, scott.benesh, elliott
Cc: linux-scsi
From: Scott Teel <scott.teel@microsemi.com>
Before using vendor-specific VPD pages for getting
raid_level and device_id, check for page support.
If page isn't supported, don't try to use it.
Also, pay attention to return status on
hpsa_get_device_id.
Reviewed-by: Scott Benesh <scott.benest@microsemi.com>
Reviewed-by: Scott Teel <scott.teel@microsemi.com>
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com>
Signed-off-by: Don Brace <don.brace@microsemi.com>
---
drivers/scsi/hpsa.c | 44 ++++++++++++++++++++++++++++++++++----------
drivers/scsi/hpsa_cmd.h | 1 +
2 files changed, 35 insertions(+), 10 deletions(-)
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 97f50c7..6a5b7df 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -293,6 +293,8 @@ static int detect_controller_lockup(struct ctlr_info *h);
static void hpsa_disable_rld_caching(struct ctlr_info *h);
static inline int hpsa_scsi_do_report_phys_luns(struct ctlr_info *h,
struct ReportExtendedLUNdata *buf, int bufsize);
+static bool hpsa_vpd_page_supported(struct ctlr_info *h,
+ unsigned char scsi3addr[], u8 page);
static int hpsa_luns_changed(struct ctlr_info *h);
static bool hpsa_cmd_dev_match(struct ctlr_info *h, struct CommandList *c,
struct hpsa_scsi_dev_t *dev,
@@ -3088,11 +3090,19 @@ static void hpsa_get_raid_level(struct ctlr_info *h,
buf = kzalloc(64, GFP_KERNEL);
if (!buf)
return;
- rc = hpsa_scsi_do_inquiry(h, scsi3addr, VPD_PAGE | 0xC1, buf, 64);
+
+ if (!hpsa_vpd_page_supported(h, scsi3addr,
+ HPSA_VPD_LV_DEVICE_GEOMETRY))
+ goto exit;
+
+ rc = hpsa_scsi_do_inquiry(h, scsi3addr, VPD_PAGE |
+ HPSA_VPD_LV_DEVICE_GEOMETRY, buf, 64);
+
if (rc == 0)
*raid_level = buf[8];
if (*raid_level > RAID_UNKNOWN)
*raid_level = RAID_UNKNOWN;
+exit:
kfree(buf);
return;
}
@@ -3450,7 +3460,7 @@ static void hpsa_get_sas_address(struct ctlr_info *h, unsigned char *scsi3addr,
}
/* Get a device id from inquiry page 0x83 */
-static int hpsa_vpd_page_supported(struct ctlr_info *h,
+static bool hpsa_vpd_page_supported(struct ctlr_info *h,
unsigned char scsi3addr[], u8 page)
{
int rc;
@@ -3539,18 +3549,25 @@ static int hpsa_get_device_id(struct ctlr_info *h, unsigned char *scsi3addr,
int rc;
unsigned char *buf;
- if (buflen > 16)
- buflen = 16;
+ /* Does controller have VPD for device id? */
+ if (!hpsa_vpd_page_supported(h, scsi3addr, HPSA_VPD_LV_DEVICE_ID))
+ return 1; /* not supported */
+
buf = kzalloc(64, GFP_KERNEL);
if (!buf)
return -ENOMEM;
- rc = hpsa_scsi_do_inquiry(h, scsi3addr, VPD_PAGE | 0x83, buf, 64);
- if (rc == 0)
- memcpy(device_id, &buf[index], buflen);
+
+ rc = hpsa_scsi_do_inquiry(h, scsi3addr, VPD_PAGE |
+ HPSA_VPD_LV_DEVICE_ID, buf, 64);
+ if (rc == 0) {
+ if (buflen > 16)
+ buflen = 16;
+ memcpy(device_id, &buf[8], buflen);
+ }
kfree(buf);
- return rc != 0;
+ return rc; /*0 - got id, otherwise, didn't */
}
static int hpsa_scsi_do_report_luns(struct ctlr_info *h, int logical,
@@ -3821,8 +3838,15 @@ static int hpsa_update_device_info(struct ctlr_info *h,
sizeof(this_device->model));
memset(this_device->device_id, 0,
sizeof(this_device->device_id));
- hpsa_get_device_id(h, scsi3addr, this_device->device_id, 8,
- sizeof(this_device->device_id));
+ if (hpsa_get_device_id(h, scsi3addr, this_device->device_id, 8,
+ sizeof(this_device->device_id)))
+ dev_err(&h->pdev->dev,
+ "hpsa%d: %s: can't get device id for host %d:C0:T%d:L%d\t%s\t%.16s\n",
+ h->ctlr, __func__,
+ h->scsi_host->host_no,
+ this_device->target, this_device->lun,
+ scsi_device_type(this_device->devtype),
+ this_device->model);
if ((this_device->devtype == TYPE_DISK ||
this_device->devtype == TYPE_ZBC) &&
diff --git a/drivers/scsi/hpsa_cmd.h b/drivers/scsi/hpsa_cmd.h
index a5be153..a584cdf 100644
--- a/drivers/scsi/hpsa_cmd.h
+++ b/drivers/scsi/hpsa_cmd.h
@@ -157,6 +157,7 @@
/* VPD Inquiry types */
#define HPSA_VPD_SUPPORTED_PAGES 0x00
+#define HPSA_VPD_LV_DEVICE_ID 0x83
#define HPSA_VPD_LV_DEVICE_GEOMETRY 0xC1
#define HPSA_VPD_LV_IOACCEL_STATUS 0xC2
#define HPSA_VPD_LV_STATUS 0xC3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 4/5] hpsa: prevent sending bmic commands to externals
2016-09-09 21:30 [PATCH 0/5] hpsa updates Don Brace
` (2 preceding siblings ...)
2016-09-09 21:30 ` [PATCH 3/5] hpsa: check for vpd support before sending Don Brace
@ 2016-09-09 21:30 ` Don Brace
2016-09-09 21:30 ` [PATCH 5/5] hpsa: check for null devices in ioaccel submission patch Don Brace
2016-09-14 18:22 ` [PATCH 0/5] hpsa updates Martin K. Petersen
5 siblings, 0 replies; 9+ messages in thread
From: Don Brace @ 2016-09-09 21:30 UTC (permalink / raw)
To: jejb, john.hall, Kevin.Barnett, Mahesh.Rajashekhara, hch,
scott.teel, Viswas.G, Justin.Lindley, scott.benesh, elliott
Cc: linux-scsi
From: Scott Teel <scott.teel@microsemi.com>
Reviewed-by: Scott Benesh <scott.benest@microsemi.com>
Reviewed-by: Scott Teel <scott.teel@microsemi.com>
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com>
Signed-off-by: Don Brace <don.brace@microsemi.com>
---
drivers/scsi/hpsa.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 6a5b7df..06f5e1c 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -4072,7 +4072,17 @@ static void hpsa_get_ioaccel_drive_info(struct ctlr_info *h,
struct bmic_identify_physical_device *id_phys)
{
int rc;
- struct ext_report_lun_entry *rle = &rlep->LUN[rle_index];
+ struct ext_report_lun_entry *rle;
+
+ /*
+ * external targets don't support BMIC
+ */
+ if (dev->external) {
+ dev->queue_depth = 7;
+ return;
+ }
+
+ rle = &rlep->LUN[rle_index];
dev->ioaccel_handle = rle->ioaccel_handle;
if ((rle->device_flags & 0x08) && dev->ioaccel_handle)
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 5/5] hpsa: check for null devices in ioaccel submission patch
2016-09-09 21:30 [PATCH 0/5] hpsa updates Don Brace
` (3 preceding siblings ...)
2016-09-09 21:30 ` [PATCH 4/5] hpsa: prevent sending bmic commands to externals Don Brace
@ 2016-09-09 21:30 ` Don Brace
2016-09-14 18:22 ` [PATCH 0/5] hpsa updates Martin K. Petersen
5 siblings, 0 replies; 9+ messages in thread
From: Don Brace @ 2016-09-09 21:30 UTC (permalink / raw)
To: jejb, john.hall, Kevin.Barnett, Mahesh.Rajashekhara, hch,
scott.teel, Viswas.G, Justin.Lindley, scott.benesh, elliott
Cc: linux-scsi
Reviewed-by: Scott Benesh <scott.benest@microsemi.com>
Reviewed-by: Scott Teel <scott.teel@microsemi.com>
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com>
Signed-off-by: Don Brace <don.brace@microsemi.com>
---
drivers/scsi/hpsa.c | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 06f5e1c..e4b3241 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -2499,6 +2499,10 @@ static void complete_scsi_command(struct CommandList *cp)
}
dev = cmd->device->hostdata;
+ if (!dev) {
+ cmd->result = DID_NO_CONNECT << 16;
+ return hpsa_cmd_free_and_done(h, cp, cmd);
+ }
c2 = &h->ioaccel2_cmd_pool[cp->cmdindex];
scsi_dma_unmap(cmd); /* undo the DMA mappings */
@@ -4686,6 +4690,9 @@ static int hpsa_scsi_ioaccel_direct_map(struct ctlr_info *h,
struct scsi_cmnd *cmd = c->scsi_cmd;
struct hpsa_scsi_dev_t *dev = cmd->device->hostdata;
+ if (!dev)
+ return -1;
+
c->phys_disk = dev;
return hpsa_scsi_ioaccel_queue_command(h, c, dev->ioaccel_handle,
@@ -4762,6 +4769,12 @@ static int hpsa_scsi_ioaccel2_queue_command(struct ctlr_info *h,
u32 len;
u32 total_len = 0;
+ if (!cmd->device)
+ return -1;
+
+ if (!cmd->device->hostdata)
+ return -1;
+
BUG_ON(scsi_sg_count(cmd) > h->maxsgentries);
if (fixup_ioaccel_cdb(cdb, &cdb_len)) {
@@ -4870,6 +4883,12 @@ static int hpsa_scsi_ioaccel_queue_command(struct ctlr_info *h,
struct CommandList *c, u32 ioaccel_handle, u8 *cdb, int cdb_len,
u8 *scsi3addr, struct hpsa_scsi_dev_t *phys_disk)
{
+ if (!c->scsi_cmd->device)
+ return -1;
+
+ if (!c->scsi_cmd->device->hostdata)
+ return -1;
+
/* Try to honor the device's queue depth */
if (atomic_inc_return(&phys_disk->ioaccel_cmds_out) >
phys_disk->queue_depth) {
@@ -4950,6 +4969,9 @@ static int hpsa_scsi_ioaccel_raid_map(struct ctlr_info *h,
#endif
int offload_to_mirror;
+ if (!dev)
+ return -1;
+
/* check for valid opcode, get LBA and block count */
switch (cmd->cmnd[0]) {
case WRITE_6:
@@ -5362,6 +5384,9 @@ static int hpsa_ioaccel_submit(struct ctlr_info *h,
struct hpsa_scsi_dev_t *dev = cmd->device->hostdata;
int rc = IO_ACCEL_INELIGIBLE;
+ if (!dev)
+ return SCSI_MLQUEUE_HOST_BUSY;
+
cmd->host_scribble = (unsigned char *) c;
if (dev->offload_enabled) {
@@ -5900,6 +5925,9 @@ static void setup_ioaccel2_abort_cmd(struct CommandList *c, struct ctlr_info *h,
struct scsi_cmnd *scmd = command_to_abort->scsi_cmd;
struct hpsa_scsi_dev_t *dev = scmd->device->hostdata;
+ if (!dev)
+ return;
+
/*
* We're overlaying struct hpsa_tmf_struct on top of something which
* was allocated as a struct io_accel2_cmd, so we better be sure it
@@ -6020,6 +6048,9 @@ static int hpsa_send_abort_ioaccel2(struct ctlr_info *h,
struct io_accel2_cmd *c2;
dev = abort->scsi_cmd->device->hostdata;
+ if (!dev)
+ return -1;
+
if (!dev->offload_enabled && !dev->hba_ioaccel_enabled)
return -1;
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 3/5] hpsa: check for vpd support before sending
2016-09-09 21:30 ` [PATCH 3/5] hpsa: check for vpd support before sending Don Brace
@ 2016-09-10 3:05 ` kbuild test robot
2016-09-10 3:05 ` [PATCH] hpsa: fix boolreturn.cocci warnings kbuild test robot
1 sibling, 0 replies; 9+ messages in thread
From: kbuild test robot @ 2016-09-10 3:05 UTC (permalink / raw)
To: Don Brace
Cc: kbuild-all, jejb, john.hall, Kevin.Barnett, Mahesh.Rajashekhara,
hch, scott.teel, Viswas.G, Justin.Lindley, scott.benesh, elliott,
linux-scsi
Hi Scott,
[auto build test WARNING on scsi/for-next]
[also build test WARNING on v4.8-rc5 next-20160909]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
[Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on]
[Check https://git-scm.com/docs/git-format-patch for more information]
url: https://github.com/0day-ci/linux/commits/Don-Brace/hpsa-determine-device-external-status-earlier/20160910-054751
base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next
coccinelle warnings: (new ones prefixed by >>)
>> drivers/scsi/hpsa.c:3473:9-10: WARNING: return of 0/1 in function 'hpsa_vpd_page_supported' with return type bool
Please review and possibly fold the followup patch.
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] hpsa: fix boolreturn.cocci warnings
2016-09-09 21:30 ` [PATCH 3/5] hpsa: check for vpd support before sending Don Brace
2016-09-10 3:05 ` kbuild test robot
@ 2016-09-10 3:05 ` kbuild test robot
1 sibling, 0 replies; 9+ messages in thread
From: kbuild test robot @ 2016-09-10 3:05 UTC (permalink / raw)
To: Don Brace
Cc: kbuild-all, jejb, john.hall, Kevin.Barnett, Mahesh.Rajashekhara,
hch, scott.teel, Viswas.G, Justin.Lindley, scott.benesh, elliott,
linux-scsi
drivers/scsi/hpsa.c:3473:9-10: WARNING: return of 0/1 in function 'hpsa_vpd_page_supported' with return type bool
Return statements in functions returning bool should use
true/false instead of 1/0.
Generated by: scripts/coccinelle/misc/boolreturn.cocci
CC: Scott Teel <scott.teel@microsemi.com>
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
---
hpsa.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -3470,7 +3470,7 @@ static bool hpsa_vpd_page_supported(stru
buf = kzalloc(256, GFP_KERNEL);
if (!buf)
- return 0;
+ return false;
/* Get the size of the page list first */
rc = hpsa_scsi_do_inquiry(h, scsi3addr,
@@ -3497,10 +3497,10 @@ static bool hpsa_vpd_page_supported(stru
goto exit_supported;
exit_unsupported:
kfree(buf);
- return 0;
+ return false;
exit_supported:
kfree(buf);
- return 1;
+ return true;
}
static void hpsa_get_ioaccel_status(struct ctlr_info *h,
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 0/5] hpsa updates
2016-09-09 21:30 [PATCH 0/5] hpsa updates Don Brace
` (4 preceding siblings ...)
2016-09-09 21:30 ` [PATCH 5/5] hpsa: check for null devices in ioaccel submission patch Don Brace
@ 2016-09-14 18:22 ` Martin K. Petersen
5 siblings, 0 replies; 9+ messages in thread
From: Martin K. Petersen @ 2016-09-14 18:22 UTC (permalink / raw)
To: Don Brace
Cc: jejb, john.hall, Kevin.Barnett, Mahesh.Rajashekhara, hch,
scott.teel, Viswas.G, Justin.Lindley, scott.benesh, elliott,
linux-scsi
>>>>> "Don" == Don Brace <don.brace@microsemi.com> writes:
Don> The following changes are based on Linus's tree:
Don> - correct minor bug created when adding hpsa_skip_device
Don> - add check for null devices do to configuration changes
Don> - add check for null devices in ioaccel path
Don> - add check for vpd support
Don> - stop sending bmic commands to externals
Applied to 4.9/scsi-queue.
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2016-09-14 18:23 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-09 21:30 [PATCH 0/5] hpsa updates Don Brace
2016-09-09 21:30 ` [PATCH 1/5] hpsa: determine device external status earlier Don Brace
2016-09-09 21:30 ` [PATCH 2/5] hpsa: check for null device pointers Don Brace
2016-09-09 21:30 ` [PATCH 3/5] hpsa: check for vpd support before sending Don Brace
2016-09-10 3:05 ` kbuild test robot
2016-09-10 3:05 ` [PATCH] hpsa: fix boolreturn.cocci warnings kbuild test robot
2016-09-09 21:30 ` [PATCH 4/5] hpsa: prevent sending bmic commands to externals Don Brace
2016-09-09 21:30 ` [PATCH 5/5] hpsa: check for null devices in ioaccel submission patch Don Brace
2016-09-14 18:22 ` [PATCH 0/5] hpsa updates Martin K. Petersen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).