1. 27 Mar, 2015 1 commit
  2. 04 Mar, 2014 1 commit
    • Michael Schmitz's avatar
      m68k/atari - ide: do not register interrupt if host->get_lock is set · a259d532
      Michael Schmitz authored
      On m68k, host->get_lock is used to both lock and register the interrupt
      that the IDE host shares with other device drivers. Registering the
      IDE interrupt handler in ide-probe.c results in duplicating the
      interrupt registered (once via host->get lock, and also via init_irq()),
      and may result in IDE accepting interrupts even when another driver has
      locked the interrupt hardware. This opens the whole locking scheme up
      to races.
      
      host->get_lock is set on m68k only, so other drivers' behaviour is not
      changed.
      Signed-off-by: 's avatarMichael Schmitz <schmitz@debian.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: linux-ide@vger.kernel.org
      Signed-off-by: 's avatarDavid S. Miller <davem@davemloft.net>
      a259d532
  3. 03 Jul, 2013 1 commit
  4. 13 Sep, 2010 1 commit
  5. 28 Mar, 2010 1 commit
  6. 26 Feb, 2010 2 commits
  7. 19 Jan, 2010 1 commit
  8. 06 Nov, 2009 1 commit
    • David S. Miller's avatar
      Revert "ide: try to use PIO Mode 0 during probe if possible" · 0fb18c47
      David S. Miller authored
      This reverts commit 60293364.
      
      Ok, we really do need to revert this, even with Bart's sis5513.c
      fix in there.
      
      The problem is that several driver's ->set_pio_mode() method
      depends upon the drive->media type being set properly.  Most
      of them use this to enable prefetching, which can only be done
      for disk media.
      
      But the commit being reverted here calls ->set_pio_mode() before
      it's setup.  Actually it considers everything disk because that
      is the default media type set by ide_port_init_devices_data().
      
      The set of drivers that depend upon the media type in their
      ->set_pio_method() are:
      
      drivers/ide/alim15x3.c
      drivers/ide/it8172.c
      drivers/ide/it8213.c
      drivers/ide/pdc202xx_old.c
      drivers/ide/piix.c
      drivers/ide/qd65xx.c
      drivers/ide/sis5513.c
      drivers/ide/slc90e66.c
      
      And it is possible that we could fix this by guarding the prefetching
      and other media dependent setting changes with a test on
      IDE_PFLAG_PROBING in hwif->port_flags, that's simply too risky for
      2.6.32-rcX and -stable.
      Signed-off-by: 's avatarDavid S. Miller <davem@davemloft.net>
      0fb18c47
  9. 07 Oct, 2009 1 commit
  10. 04 Oct, 2009 1 commit
  11. 21 Sep, 2009 1 commit
  12. 07 Aug, 2009 1 commit
  13. 24 Jun, 2009 1 commit
  14. 15 Jun, 2009 3 commits
  15. 10 Jun, 2009 1 commit
    • Hugh Dickins's avatar
      ide: fix PowerMac bootup oops · 5f4417a1
      Hugh Dickins authored
      PowerMac bootup with CONFIG_IDE=y oopses in ide_pio_cycle_time():
      because "ide: try to use PIO Mode 0 during probe if possible" causes
      pmac_ide_set_pio_mode() to be called before drive->id has been set.
      
      Bart points out other places which now need drive->id set earlier,
      so follow his advice to allocate it in ide_port_alloc_devices()
      (using kzalloc_node, without error message, as when allocating drive)
      and memset it for reuse in ide_port_init_devices_data().
      
      Fixed in passing: ide_host_alloc() was missing ide_port_free_devices()
      from an error path.
      Signed-off-by: 's avatarHugh Dickins <hugh.dickins@tiscali.co.uk>
      Cc: Joao Ramos <joao.ramos@inov.pt>
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: 's avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      5f4417a1
  16. 08 Jun, 2009 1 commit
  17. 07 Jun, 2009 1 commit
  18. 22 May, 2009 1 commit
  19. 17 May, 2009 5 commits
  20. 08 Apr, 2009 4 commits
    • Sergei Shtylyov's avatar
      ide: refactor tf_read() method · 3153c26b
      Sergei Shtylyov authored
      Simplify tf_read() method, making it deal only with 'struct ide_taskfile' and
      the validity flags that the upper layer passes, and factoring out the code that
      deals with the high order bytes into ide_tf_readback() to be called from the
      only two functions interested, ide_complete_cmd() and ide_dump_sector().
      
      This should stop the needless code duplication in this method and so make
      it about twice smaller than it was; along with simplifying the setup for
      the method call, this should save both time and space...
      Signed-off-by: 's avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: 's avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      3153c26b
    • Sergei Shtylyov's avatar
      ide: refactor tf_load() method · c9ff9e7b
      Sergei Shtylyov authored
      Simplify tf_load() method, making it deal only with 'struct ide_taskfile' and
      the validity flags that the upper layer passes, and moving the code that deals
      with the high order bytes into the only function interested, do_rw_taskfile().
      
      This should stop the needless code duplication in this method and so make
      it about twice smaller than it was; along with simplifying the setup for the
      method call, this should save both time and space...
      Signed-off-by: 's avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: 's avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c9ff9e7b
    • Sergei Shtylyov's avatar
      ide: replace IDE_TFLAG_* flags by IDE_VALID_* · 60f85019
      Sergei Shtylyov authored
      Replace IDE_TFLAG_{IN|OUT}_* flags meaning to the taskfile register validity on
      input/output by the IDE_VALID_* flags and introduce 4 symmetric 8-bit register
      validity indicator subfields, 'valid.{input/output}.{tf|hob}', into the 'struct
      ide_cmd' instead of using the 'tf_flags' field for that purpose (this field can
      then be turned from 32-bit into 8-bit one).
      Signed-off-by: 's avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: 's avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      60f85019
    • 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: 's avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: 's avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      aa07573b
  21. 31 Mar, 2009 3 commits
  22. 27 Mar, 2009 7 commits