• Geert Uytterhoeven's avatar
    ide: Fix host drivers that need IRQF_SHARED · aa07573b
    Geert Uytterhoeven authored
    commit 255115fb ("ide: allow host drivers to
    specify IRQ flags") added irq_flags fields to struct ide_port_info and struct
    ide_host.  Drivers can now set ide_port_info.irq_flags = IRQF_SHARED, while
    init_irq() passes ide_host.irq_flags to request_irq().
    
    Unfortunately ide_host.irq_flags is never set, causing (on ARAnyM):
    
    | Uniform Multi-Platform E-IDE driver
    | ide: Falcon IDE controller
    | Probing IDE interface ide0...
    | hda: Sarge m68k, ATA DISK drive
    | init_irq: sa = 0
    | ide0: disabled, unable to get IRQ 15
    | ide0: failed to initialize IDE interface
    | ide0: disabling port
    
    Solve this by copying ide_port_info.irq_flags to ide_host.irq_flags in
    ide_host_alloc().
    
    This bug probably affects the following IDE host drivers:
      - buddha
      - delkin_cb
      - falconide
      - gayle
      - ide-cs
      - macide
      - q40ide
      - scc_pata
      - sgiioc4
    Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
    aa07573b
ide-probe.c 36.7 KB