SCSI fixes for 4.0-rc3
Subsystems (2)
James Bottomley
maintainerThis is a simple fix for a domain revalidation crash which has recently turned up in the libsas code (applies to mvsas, isc and aic94xx).
The patch is available here:
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-fixes
The short changelog is:
James Bottomley (1):
libsas: Fix Kernel Crash in smp_execute_task
And the diffstat:
drivers/scsi/libsas/sas_discover.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
With full diff below.
James
---
drivers/scsi/libsas/sas_discover.c +4 -2
@@ -500,6 +500,7 @@ static void sas_revalidate_domain(struct work_struct *work)struct sas_discovery_event *ev =to_sas_discovery_event (work);struct asd_sas_port *port = ev->port;struct sas_ha_struct *ha = port->ha; +struct domain_device *ddev = port->port_dev;/* prevent revalidation from finding sata links in recovery */ mutex_lock (&ha->disco_mutex);
@@ -514,8 +515,9 @@ static void sas_revalidate_domain(struct work_struct *work)SAS_DPRINTK ("REVALIDATING DOMAIN on port %d, pid:%d\n" , port->id,task_pid_nr (current)); -if (port->port_dev) - res =sas_ex_revalidate_domain (port->port_dev); +if (ddev && (ddev->dev_type ==SAS_FANOUT_EXPANDER_DEVICE || + ddev->dev_type ==SAS_EDGE_EXPANDER_DEVICE )) + res =sas_ex_revalidate_domain (ddev);SAS_DPRINTK ("done REVALIDATING DOMAIN on port %d, pid:%d, res 0x%x\n" , port->id,task_pid_nr (current), res);