diff options
Diffstat (limited to 'drivers/ata/libata-scsi.c')
| -rw-r--r-- | drivers/ata/libata-scsi.c | 6 | 
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,  	struct ata_port *ap = ata_shost_to_port(sdev->host);  	struct ata_device *atadev = ata_scsi_find_dev(ap, sdev); -	if (ap->ops->sw_activity_show && (ap->flags & ATA_FLAG_SW_ACTIVITY)) +	if (atadev && ap->ops->sw_activity_show && +	    (ap->flags & ATA_FLAG_SW_ACTIVITY))  		return ap->ops->sw_activity_show(atadev, buf);  	return -EINVAL;  } @@ -324,7 +325,8 @@ ata_scsi_activity_store(struct device *dev, struct device_attribute *attr,  	enum sw_activity val;  	int rc; -	if (ap->ops->sw_activity_store && (ap->flags & ATA_FLAG_SW_ACTIVITY)) { +	if (atadev && ap->ops->sw_activity_store && +	    (ap->flags & ATA_FLAG_SW_ACTIVITY)) {  		val = simple_strtoul(buf, NULL, 0);  		switch (val) {  		case OFF: case BLINK_ON: case BLINK_OFF: |