Changeset 75 for trunk/src/os2ahci/ahci.c
- Timestamp:
- Feb 16, 2011, 7:10:13 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/os2ahci/ahci.c
r74 r75 858 858 AD_INFO *ai = ad_infos + iorb_unit_adapter(iorb); 859 859 P_INFO *port = ai->ports + iorb_unit_port(iorb); 860 ULONG timeout = (iorb->Timeout > 0) ? iorb->Timeout : DEFAULT_TIMEOUT;860 ULONG timeout = (iorb->Timeout > 0) ? iorb->Timeout * 1000 : DEFAULT_TIMEOUT; 861 861 u8 _far *port_mmio = port_base(ai, iorb_unit_port(iorb)); 862 862 u16 cmd_max = ai->cmd_max; … … 1257 1257 next = iorb->pNxtIORB; 1258 1258 if (aws->queued_hw && (done_mask & (1UL << aws->cmd_slot))) { 1259 /* this command has completed */ 1259 /* this hardware command has completed */ 1260 ai->ports[p].ncq_cmds &= ~(1UL << aws->cmd_slot); 1261 ai->ports[p].reg_cmds &= ~(1UL << aws->cmd_slot); 1262 1263 /* call post-processing function, if any */ 1260 1264 if (aws->ppfunc != NULL) { 1261 1265 aws->ppfunc(iorb); … … 1268 1272 iorb_queue_del(&ai->ports[p].iorb_queue, iorb); 1269 1273 iorb_queue_add(&done_queue, iorb); 1274 aws_free(add_workspace(iorb)); 1270 1275 } 1271 1272 /* clear corresponding bit in issued command bitmaps */1273 ai->ports[p].ncq_cmds &= ~(1UL << aws->cmd_slot);1274 ai->ports[p].reg_cmds &= ~(1UL << aws->cmd_slot);1275 1276 } 1276 1277 } … … 1278 1279 spin_unlock(drv_lock); 1279 1280 1280 /* c all notification routines forall IORBs in the done queue */1281 /* complete all IORBs in the done queue */ 1281 1282 for (iorb = done_queue.root; iorb != NULL; iorb = next) { 1282 1283 next = iorb->pNxtIORB; 1283 iorb->Status = IORB_DONE; 1284 aws_free(add_workspace(iorb)); 1285 if (iorb->RequestControl & IORB_ASYNC_POST) { 1286 iorb->NotifyAddress(iorb); 1287 } 1284 complete_iorb(iorb); 1288 1285 } 1289 1286 }
Note:
See TracChangeset
for help on using the changeset viewer.