2241 default:
2242 TRACE2(("cache cmd %x/%x/%x/%x/%x/%x unknown\n",nscp->cmnd[0],
2243 nscp->cmnd[1],nscp->cmnd[2],nscp->cmnd[3],
2244 nscp->cmnd[4],nscp->cmnd[5]));
2245 printk("GDT-HA %d: Unknown SCSI command 0x%x to cache service !\n",
2246 ha->hanum, nscp->cmnd[0]);
2247 nscp->result = DID_ABORT << 16;
2248 if (!nscp_cmndinfo->wait_for_completion)
2249 nscp_cmndinfo->wait_for_completion++;
2250 else
2251 gdth_scsi_done(nscp);
2252 break;
2253 }
2254 }
2255
2256 if (!this_cmd)
2257 break;
2258 if (nscp == ha->req_first)
2259 ha->req_first = pscp = (Scsi_Cmnd *)nscp->SCp.ptr;
2260 else
2261 pscp->SCp.ptr = nscp->SCp.ptr;
2262 if (!next_cmd)
2263 break;
2264 }
2265
2266 if (ha->cmd_cnt > 0) {
2267 gdth_release_event(ha);
2268 }
2269
2270 if (!gdth_polling)
2271 spin_unlock_irqrestore(&ha->smp_lock, flags);
2272
2273 if (gdth_polling && ha->cmd_cnt > 0) {
2274 if (!gdth_wait(ha, cmd_index, POLL_TIMEOUT))
2275 printk("GDT-HA %d: Command %d timed out !\n",
2276 ha->hanum, cmd_index);
2277 }
2278}
2279
2280
2281