1. 18 9月, 2009 10 次提交
    • M
      sata_promise: update reset code · ff7cddf5
      Mikael Pettersson 提交于
      sata_promise's reset code has deviated quite a bit from
      the Promise reference driver's, and it has been observed
      to fail to recover from errors in some cases.
      
      This patch thus updates the reset code to more closely
      match the reference driver:
      
      - soft reset (pdc_reset_port):
        * wait for ATA engine to not be in packet command mode
          (2nd gen only)
        * write reset bit in PDC_CTLSTAT before the first read
          in the loop
        * for 2nd gen SATA follow up with FPDMA reset and clearing
          error status registers
      - hard reset (pdc_sata_hardreset):
        * wait for ATA engine to not be in packet command mode
          (2nd gen only)
        * reset ATA engine via the PCI control register
        * Tejun's change to use non-waiting hardreset + follow-up SRST
      
      I'm not changing the hotplug mask bits since they are taken care
      of by sata_promise's ->freeze() and ->thaw() operations. And I'm
      not writing the PMP port # because that's always zero (for now).
      
      Tested here on various controllers. In particular, one disk
      which used to timeout and fail to recover from certain hdparm
      and smartmonctl commands now works nicely.
      Signed-off-by: NMikael Pettersson <mikpe@it.uu.se>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      ff7cddf5
    • M
      sata_promise: disable hotplug on 1st gen chips · 0ae6654d
      Mikael Pettersson 提交于
      1st generation Promise SATA chips are prone to generating spurious
      hotplug events which can disrupt normal operation. This has been
      observed on 20376 and 20378 chips. This patch thus disables hotplug
      support on 1st gen chips while leaving it enabled for 2nd gen chips.
      
      The pdc_sata_hotplug_offset() function becomes redundant so it is
      removed.
      
      Tested on 1st gen 20376 and 20378 mainboard chips and on a 2nd gen
      SATA300 PCI card.
      Signed-off-by: NMikael Pettersson <mikpe@it.uu.se>
      Tested-by: NKurt Roeckx <kurt@roeckx.be>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      0ae6654d
    • T
      libata: fix spurious WARN_ON_ONCE() on port freeze · 4dc738ed
      Tejun Heo 提交于
      Commit 54c38444 makes libata abort qcs
      after the port is frozen.  This is necessary to guarantee that TF
      registers are accessed after the DMA engine is shutdown after an
      error.  However, this triggers WARN_ON_ONCE() check in
      ata_qc_complete() spuriously.  Move WARN_ON_ONCE() downwards such that
      failing commands while frozen doesn't trigger it.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      4dc738ed
    • T
      ahci: restore pci_intx() handling · 31b239ad
      Tejun Heo 提交于
      Commit a5bfc471 dropped explicit
      pci_intx() manipulation from ahci because it seemed unnecessary and
      ahci doesn't seem to be the right place to be tweaking it if it were.
      This was largely okay but there are exceptions.  There was one on an
      embedded platform which was fixed via firmware and now bko#14124
      reports it on a HP DL320.
      
        http://bugzilla.kernel.org/show_bug.cgi?id=14124
      
      I still think this isn't something libata drivers should be caring
      about (the only ones which are calling pci_intx() explicitly are
      libata ones and one other driver) but for now reverting the change
      seems to be the right thing to do.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Reported-by: NThomas Jarosch <thomas.jarosch@intra2net.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      31b239ad
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · de55a895
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        amd64_edac: check NB MCE bank enable on the current node properly
        amd64_edac: Rewrite unganged mode code of f10_early_channel_count
        amd64_edac: cleanup amd64_check_ecc_enabled
        x86, EDAC: Provide function to return NodeId of a CPU
        amd64_edac: build driver only on AMD hardware
      de55a895
    • L
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · 79b520e8
      Linus Torvalds 提交于
      * 'for-linus' of git://oss.sgi.com/xfs/xfs: (39 commits)
        xfs: includecheck fix for fs/xfs/xfs_iops.c
        xfs: switch to seq_file
        xfs: Record new maintainer information
        xfs: use correct log reservation when handling ENOSPC in xfs_create
        xfs: xfs_showargs() reports group *and* project quotas enabled
        xfs: un-static xfs_inobt_lookup
        xfs: actually enable the swapext compat handler
        xfs: simplify xfs_trans_iget
        xfs: merge fsync and O_SYNC handling
        xfs: speed up free inode search
        xfs: rationalize xfs_inobt_lookup*
        xfs: untangle xfs_dialloc
        xfs: factor out debug checks from xfs_dialloc and xfs_difree
        xfs: improve xfs_inobt_update prototype
        xfs: improve xfs_inobt_get_rec prototype
        xfs: factor out inode initialisation
        fs/xfs: Correct redundant test
        xfs: remove XFS_INO64_OFFSET
        un-static xfs_read_agf
        xfs: add more statics & drop some unused functions
        ...
      79b520e8
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin · abf5940d
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (75 commits)
        Blackfin: update ftrace for latest toolchain
        Blackfin: fix elf_fpregset_t definition
        Blackfin: unify cache init functions
        Blackfin: swap clocksource ratings for gptimer/cycles
        Blackfin: update ftrace_push_return_trace() breakage
        Blackfin: update cm board resources
        Blackfin: cm-bf537u: split board from cm-bf537e
        Blackfin: bf538-ezkit: add SPI IRQ resources
        Blackfin: increase default async timings for parallel flashes
        Blackfin: add ICPLB coverage for async banks
        Blackfin: use KERN_ALERT in all kgdb_test output
        Blackfin: fix BF54x SPI CS resources
        Blackfin: fix typo in isram_write()
        Blackfin: bf537-stamp: add adp5588 gpio resources
        Blackfin: add some isram-driver self tests
        Blackfin: workaround anomaly 05000283
        Blackfin: fix spelling in a few comments
        Blackfin: use raw_smp_processor_id() in exception code
        Blackfin: remove useless duplicated assignment in gpio code
        Blackfin: Fix link errors with binutils 2.19 and GCC 4.3
        ...
      abf5940d
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 66bc4a6f
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: (53 commits)
        m68knommu: Make PAGE_SIZE available to assembly files.
        m68knommu: fix ColdFire definition of CLOCK_TICK_RATE
        m68knommu: set multi-function pins for ethernet when enabled
        m68knommu: remove special interrupt handling code for ne2k support
        m68knommu: relax IO_SPACE_LIMIT setting
        m68knommu: remove ColdFire direct interrupt register access
        m68knommu: create a speciailized ColdFire 5272 interrupt controller
        m68knommu: add support for second interrupt controller of ColdFire 5249
        m68knommu: clean up old ColdFire timer irq setup
        m68knommu: map ColdFire interrupts to correct masking bits
        m68knommu: clean up ColdFire 532x CPU timer setup
        m68knommu: simplify ColdFire "timers" clock initialization
        m68knommu: support code to mask external interrupts on old ColdFire CPU's
        m68knommu: merge old ColdFire interrupt controller masking macros
        m68knommu: remove duplicate ColdFire mcf_autovector() code
        m68knommu: move ColdFire INTC definitions to new include file
        m68knommu: mask off all interrupts in ColdFire intc-simr controller
        m68knommu: remove timer device interrupt setup for ColdFire 532x
        m68knommu: remove interrupt masking from ColdFire pit timer
        m68knommu: remove unecessary interrupt level setting in ColdFire 520x setup
        ...
      66bc4a6f
    • L
      Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · 96c015b7
      Linus Torvalds 提交于
      * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        hwmon: (lm85) Don't bind to Winbond/Nuvoton WPCD377I
        hwmon: (pcf8591) Documentation clean-ups
        hwmon: Clearly mark ACPI drivers as such
        hwmon: Use resource_size
        hwmon: Include <linux/io.h> instead of <asm/io.h>
        hwmon: (tmp421) Add documentation
        hwmon: Add driver for Texas Instruments TMP421/422/423 sensor chips
        hwmon-vid: Ignore 6th VID pin of AMD family 0Fh processors
        hwmon: (asus_atk0110) Add maintainer information
        hwmon: (abituguru3) Support multiple DMI strings per chip ID
      96c015b7
    • L
      Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb · 3aee0605
      Linus Torvalds 提交于
      * 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb:
        uwb: avoid radio controller reset loops
        uwb: stop uwbd thread if rc->start() fails
        uwb: handle radio controller events with out-of-range IDs correctly
      3aee0605
  2. 17 9月, 2009 30 次提交