1. 09 Mar, 2007 9 commits
    • Tejun Heo's avatar
      devres: release resources on device_del() · 2f8d16a9
      Tejun Heo authored
      Some platform devices are driven without driver attached, so managed
      resources can be acquired without driver attached.  Make sure such
      resources are released by calling devres_release_all() in
      device_del().
      Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      2f8d16a9
    • Tejun Heo's avatar
      libata: fix ata_host_release() free order · 1aa506e4
      Tejun Heo authored
      host->ops->host_stop() might access ports.  Free ports after
      host_stop.
      Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      1aa506e4
    • Robert Hancock's avatar
      sata_nv: revert use of notifiers for now · 8ba5e4cb
      Robert Hancock authored
      Commit 721449bf added support for using the
      ADMA notifier bits to determine which commands to check for completion.
      However there have been reports that this causes command timeouts in certain
      cases. This is still being investigated. In addition, apparently the notifiers
      won't work if ADMA is disabled on the other port as a result of an ATAPI device
      being connected, and we don't handle this case properly.
      
      For now, just restore the previous behavior of checking all active commands
      to see if they are complete, without relying on the notifiers.
      Signed-off-by: default avatarRobert Hancock <hancockr@shaw.ca>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      8ba5e4cb
    • Petr Vandrovec's avatar
      Fix simplex adapters with libata · 14d66ab7
      Petr Vandrovec authored
      Recently I got my hands on nVidia's MCP61 PM-AM board, and
      it contains IDE chip configured by BIOS with only primary
      channel enabled.  This confuses code which probes for
      device DMA capabilities - it gets 0x60 (happy duplex
      device) from primary channel BMDMA, but 0xFF (nobody here)
      from secondary channel BMDMA.  Due to this code then believes
      that chip is simplex.  I do not address this problem in
      my patch, as I'm not sure how to handle this.  Probably
      ata_pci_init_one should have bitmap of enabled/possible
      interfaces instead of their count, but it looks like
      quite intrusive change, and maybe we do not care - for device
      with only one channel simplex and regular DMA engines are
      same.
      
      But making device simplex pointed out that support for
      DMA on simplex devices is currently broken - ata_dev_xfermask
      tests whether device is simplex and if it is whether DMA
      engine was assigned to this port.  If not then it strips
      out DMA bits from device.  Problem is that code which assigns
      DMA engine to port in ata_set_mode first detect device
      mode and assigns DMA engine to channel only if some DMA
      capable device was found.
      
      And as xfermask stripped out DMA bits, host->simplex_claimed
      is always NULL with current implementation.
      
      By allowing DMA either if simplex_claimed is NULL or if it
      points to current port DMA can be finally used - it gets
      assigned to first port which contains any DMA capable
      device.
      
      Before:
      pata_amd 0000:00:06.0: version 0.2.8
      PCI: Setting latency timer of device 0000:00:06.0 to 64
      ata5: PATA max UDMA/133 cmd 0x000101f0 ctl 0x000103f6 bmdma 0x0001f000 irq 14
      ata6: PATA max UDMA/133 cmd 0x00010170 ctl 0x00010376 bmdma 0x0001f008 irq 15
      scsi4 : pata_amd
      ata5.00: ATAPI, max UDMA/66
      ata5.00: simplex DMA is claimed by other device, disabling DMA
      ata5.00: configured for PIO4
      scsi5 : pata_amd
      ata6: port disabled. ignoring.
      ata6: reset failed, giving up
      scsi 4:0:0:0: CD-ROM            ATAPI    DVD W  DH16W1P   LG12 PQ: 0 ANSI: 5
      
      After:
      pata_amd 0000:00:06.0: version 0.2.8
      PCI: Setting latency timer of device 0000:00:06.0 to 64
      ata5: PATA max UDMA/133 cmd 0x000101f0 ctl 0x000103f6 bmdma 0x0001f000 irq 14
      ata6: PATA max UDMA/133 cmd 0x00010170 ctl 0x00010376 bmdma 0x0001f008 irq 15
      scsi4 : pata_amd
      ata5.00: ATAPI, max UDMA/66
      ata5.00: configured for UDMA/33
      scsi5 : pata_amd
      ata6: port disabled. ignoring.
      ata6: reset failed, giving up
      scsi 4:0:0:0: CD-ROM            ATAPI    DVD W  DH16W1P   LG12 PQ: 0 ANSI: 5
      Signed-off-by: default avatarPetr Vandrovec <petr@vandrovec.name>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      14d66ab7
    • Alan Cox's avatar
      ata_piix: Remove ugly layering violation · 9a2eb709
      Alan Cox authored
      A while ago I modified the libata code so that drivers can return -ENOENT
      for unknown ports not fiddle with the EH flags and print stuff directly.
      Somewhere along the line ata_piix didn't get fully converted.
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      9a2eb709
    • Dave Jones's avatar
      [PATCH] build fix for i386 earlyquirk.c · d0035aef
      Dave Jones authored
      missing close bracket.
      Signed-off-by: default avatarDave Jones <davej@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d0035aef
    • Dave Jones's avatar
      [PATCH] update 'getting sparse' info. · a55028ff
      Dave Jones authored
       - point to the sparse webpage
       - use git:// instead of rsync://
      Signed-off-by: default avatarDave Jones <davej@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a55028ff
    • Len Brown's avatar
      [PATCH] ACPI: repair nvidia early quirk breakage on x86_64 · fe699336
      Len Brown authored
      x86_64 nvidia_bugs() broke when we bailed out on not finding the HPET.
      However, the quirk works by checking for _not_ finding the HPET...
      
      Delete the nvidia_hpet_detected flag and simply test for
      not finding the HPET, which is simple to do now that
      acpi_table_parse returns 1 on failure.
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fe699336
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband · eb9c4f2e
      Linus Torvalds authored
      * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
        IPoIB: Turn on interface's carrier after broadcast group is joined
        RDMA/ucma: Avoid sending reject if backlog is full
        RDMA/cxgb3: Fix MR permission problems
        RDMA/cxgb3: Don't reuse skbs that are non-linear or cloned
        RDMA/cxgb3: Squelch logging AE errors
        RDMA/cxgb3: Stop EP timer when MPA exchange is aborted by peer
        RDMA/cxgb3: Move QP to error on destroy if the state is IDLE
        RDMA/cxgb3: Fixes for "normal close" failures
        RDMA/cxgb3: Fix build on sparc64
        RDMA/cma: Initialize rdma_bind_list in cma_alloc_any_port()
        RDMA/cxgb3: Don't use mm after it's freed in iwch_mmap()
        RDMA/cxgb3: Start ep timer on a MPA reject
        IB/mthca: Fix error path in mthca_alloc_memfree()
        IB/ehca: Fix sync between completion handler and destroy cq
        IPoIB: Only handle async events for one port
      eb9c4f2e
  2. 08 Mar, 2007 31 commits