From: Mike Christie Subject: Kernel panic on sysReboot of array controller References: bnc#466846 Here is a patch made against upstream. It is simple. The transportt->eh_timed_out was supposed to go in iscsi_host_add. It used to be in iscsi_host_alloc because we set the LLD transportt in there (now the LLD does it after calling iscsi_host_alloc). Signed-off-by: Yanling Qi Signed-off-by: Mike Christie Signed-off-by: Hannes Reinecke --- drivers/scsi/libiscsi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/scsi/libiscsi.c +++ b/drivers/scsi/libiscsi.c @@ -1927,6 +1927,7 @@ int iscsi_host_add(struct Scsi_Host *sho if (!shost->can_queue) shost->can_queue = ISCSI_DEF_XMIT_CMDS_MAX; + shost->transportt->eh_timed_out = iscsi_eh_cmd_timed_out; return scsi_add_host(shost, pdev); } EXPORT_SYMBOL_GPL(iscsi_host_add); @@ -1949,7 +1950,6 @@ struct Scsi_Host *iscsi_host_alloc(struc shost = scsi_host_alloc(sht, sizeof(struct iscsi_host) + dd_data_size); if (!shost) return NULL; - shost->transportt->eh_timed_out = iscsi_eh_cmd_timed_out; if (qdepth > ISCSI_MAX_CMD_PER_LUN || qdepth < 1) { if (qdepth != 0)