1. 09 3月, 2007 14 次提交
    • T
      devres: release resources on device_del() · 2f8d16a9
      Tejun Heo 提交于
      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: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      2f8d16a9
    • T
      libata: fix ata_host_release() free order · 1aa506e4
      Tejun Heo 提交于
      host->ops->host_stop() might access ports.  Free ports after
      host_stop.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      1aa506e4
    • R
      sata_nv: revert use of notifiers for now · 8ba5e4cb
      Robert Hancock 提交于
      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: NRobert Hancock <hancockr@shaw.ca>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      8ba5e4cb
    • P
      Fix simplex adapters with libata · 14d66ab7
      Petr Vandrovec 提交于
      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: NPetr Vandrovec <petr@vandrovec.name>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      14d66ab7
    • A
      ata_piix: Remove ugly layering violation · 9a2eb709
      Alan Cox 提交于
      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: NAlan Cox <alan@redhat.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      9a2eb709
    • D
      [PATCH] build fix for i386 earlyquirk.c · d0035aef
      Dave Jones 提交于
      missing close bracket.
      Signed-off-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d0035aef
    • D
      [PATCH] update 'getting sparse' info. · a55028ff
      Dave Jones 提交于
       - point to the sparse webpage
       - use git:// instead of rsync://
      Signed-off-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a55028ff
    • L
      [PATCH] ACPI: repair nvidia early quirk breakage on x86_64 · fe699336
      Len Brown 提交于
      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: NLen Brown <len.brown@intel.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fe699336
    • L
      Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband · eb9c4f2e
      Linus Torvalds 提交于
      * '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
    • L
      Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 · c5bfdb72
      Linus Torvalds 提交于
      * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
        [SCTP] ipv6: inconsistent lock state ipv6_add_addr/sctp_v6_copy_addrlist
      c5bfdb72
    • D
      [SPARC64]: Fix PARPORT build (again). · 2ef55079
      David S. Miller 提交于
      Need to provide {claim,release}_dma_lock() for this guy too.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2ef55079
    • S
      IPoIB: Turn on interface's carrier after broadcast group is joined · 55c9adde
      Shirley Ma 提交于
      Do netif_carrier_on() right after the IPv4 broadcast multicast group
      is joined, rather than waiting for all of the initial set of multicast
      group joins to finish.  This allows at least IPv4 traffic to limp
      along on broken fabrics where not all multicast groups can be joined.
      Signed-off-by: NShirley Ma <xma@us.ibm.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      55c9adde
    • J
      [SCTP] ipv6: inconsistent lock state ipv6_add_addr/sctp_v6_copy_addrlist · e2eb8d45
      Jarek Poplawski 提交于
      lockdep found that dev->lock taken from softirq in ipv6_add_addr
      is also taken in sctp_v6_copy_addrlist with softirqs enabled, so
      lockup is possible.
      Noticed-by: NSimon Arlott <simon@arlott.org>
      Signed-off-by: NJarek Poplawski <jarkao2@o2.pl>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e2eb8d45
    • A
      [PATCH] libata-acpi: Try and stop all the non PCI devices crashing · ca426635
      Alan Cox 提交于
      For 2.6.20 it mostly used to just not work, for 2.6.21-rc it crashes, this
      seems to be down to luck (bad or good). The libata-acpi code needs to
      avoid doing PCI work on non-PCI devices. This is one hack although it's
      not pretty and perhaps there is a "right" way to check if a struct device
      * is PCI ?
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ca426635
  2. 08 3月, 2007 26 次提交