@@ -914,13 +911,22 @@ static int mvs_task_exec(struct sas_task *task, const int num, gfp_t gfp_flags, tei.port = &mvi->port[dev->port->id - mvi->chip->n_phy]; else tei.port = &mvi->port[dev->port->id]; - - if (!tei.port->port_attached) { + if (tei.port && !tei.port->port_attached) { if (sas_protocol_ata(t->task_proto)) { - mv_dprintk("port %d does not" - "attached device.\n", dev->port->id); - rc = SAS_PHY_DOWN; - goto out_done; + struct task_status_struct *ts = &t->task_status; + ts->stat = SAS_PROTO_RESPONSE; + ts->stat = SAS_PHY_DOWN; [Jack] Here ts->stat was double set. Maybe the first one is unnessary. -- 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