aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ata/libata-scsi.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index a6df6a351d6e..7c337e754dab 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -309,7 +309,8 @@ ata_scsi_activity_show(struct device *dev, struct device_attribute *attr,
309 struct ata_port *ap = ata_shost_to_port(sdev->host); 309 struct ata_port *ap = ata_shost_to_port(sdev->host);
310 struct ata_device *atadev = ata_scsi_find_dev(ap, sdev); 310 struct ata_device *atadev = ata_scsi_find_dev(ap, sdev);
311 311
312 if (ap->ops->sw_activity_show && (ap->flags & ATA_FLAG_SW_ACTIVITY)) 312 if (atadev && ap->ops->sw_activity_show &&
313 (ap->flags & ATA_FLAG_SW_ACTIVITY))
313 return ap->ops->sw_activity_show(atadev, buf); 314 return ap->ops->sw_activity_show(atadev, buf);
314 return -EINVAL; 315 return -EINVAL;
315} 316}
@@ -324,7 +325,8 @@ ata_scsi_activity_store(struct device *dev, struct device_attribute *attr,
324 enum sw_activity val; 325 enum sw_activity val;
325 int rc; 326 int rc;
326 327
327 if (ap->ops->sw_activity_store && (ap->flags & ATA_FLAG_SW_ACTIVITY)) { 328 if (atadev && ap->ops->sw_activity_store &&
329 (ap->flags & ATA_FLAG_SW_ACTIVITY)) {
328 val = simple_strtoul(buf, NULL, 0); 330 val = simple_strtoul(buf, NULL, 0);
329 switch (val) { 331 switch (val) {
330 case OFF: case BLINK_ON: case BLINK_OFF: 332 case OFF: case BLINK_ON: case BLINK_OFF: