Ignore:
Timestamp:
Jun 6, 2011, 4:25:25 PM (14 years ago)
Author:
Markus Thielen
Message:

avoid possible IRQ storm during error handling

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/os2ahci/ahci.c

    r87 r102  
    13371337
    13381338  if (irq_stat & PORT_IRQ_ERROR) {
    1339     /* this is an error interrupt */
     1339    /* this is an error interrupt;
     1340     * disable port interrupts to avoid IRQ storm until error condition
     1341     * has been cleared by the restart handler
     1342     */
     1343    writel(port_mmio + PORT_IRQ_MASK, 0);
    13401344    ahci_error_intr(ai, p, irq_stat);
    13411345    return;
     
    14431447  if (reset_port) {
    14441448    /* need to reset the port; leave this to the reset context hook */
     1449
    14451450    ports_to_reset[ad_no(ai)] |= 1UL << p;
    14461451    DevHelp_ArmCtxHook(0, reset_ctxhook_h);
     
    14541459   * thus we need to offload this functionality to the restart context hook.
    14551460   */
    1456   if (irq_stat & PORT_IRQ_TF_ERR) {
    1457     ports_to_restart[ad_no(ai)] |= 1UL << p;
    1458     DevHelp_ArmCtxHook(0, restart_ctxhook_h);
    1459   }
     1461  ports_to_restart[ad_no(ai)] |= 1UL << p;
     1462  DevHelp_ArmCtxHook(0, restart_ctxhook_h);
    14601463}
    14611464
Note: See TracChangeset for help on using the changeset viewer.