From: Andrew Vasquez <andrew.vasquez@xxxxxxxxxx> Date: Mon, 8 Sep 2008 14:13:31 -0700 > That's odd, as fc_flush_work() is quite minimal: > > static void > fc_flush_work(struct Scsi_Host *shost) > { > if (!fc_host_work_q(shost)) { > printk(KERN_ERR > "ERROR: FC host '%s' attempted to flush work, " > "when no workqueue created.\n", shost->hostt->name); > dump_stack(); > return; > } > > flush_workqueue(fc_host_work_q(shost)); > } > > there's not much chance here for a NULL-dereference. There are several. In this particular case, looking at the instruction dump, it appears to be shost->shost_data is NULL in this case, via the expansion of fc_host_work_q which is defined as: #define fc_host_work_q(x) \ (((struct fc_host_attrs *)(x)->shost_data)->work_q) -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html