1. 11 5月, 2012 8 次提交
    • J
      bonding: don't increase rx_dropped after processing LACPDUs · 13a8e0c8
      Jiri Bohac 提交于
      Since commit 3aba891d, bonding processes LACP frames (802.3ad
      mode) with bond_handle_frame(). Currently a copy of the skb is
      made and the original is left to be processed by other
      rx_handlers and the rest of the network stack by returning
      RX_HANDLER_ANOTHER.  As there is no protocol handler for
      PKT_TYPE_LACPDU, the frame is dropped and dev->rx_dropped
      increased.
      
      Fix this by making bond_handle_frame() return RX_HANDLER_CONSUMED
      if bonding has processed the LACP frame.
      Signed-off-by: NJiri Bohac <jbohac@suse.cz>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      13a8e0c8
    • E
      connector/userns: replace netlink uses of cap_raised() with capable() · 38bf1953
      Eric W. Biederman 提交于
      In 2009 Philip Reiser notied that a few users of netlink connector
      interface needed a capability check and added the idiom
      cap_raised(nsp->eff_cap, CAP_SYS_ADMIN) to a few of them, on the premise
      that netlink was asynchronous.
      
      In 2011 Patrick McHardy noticed we were being silly because netlink is
      synchronous and removed eff_cap from the netlink_skb_params and changed
      the idiom to cap_raised(current_cap(), CAP_SYS_ADMIN).
      
      Looking at those spots with a fresh eye we should be calling
      capable(CAP_SYS_ADMIN).  The only reason I can see for not calling capable
      is that it once appeared we were not in the same task as the caller which
      would have made calling capable() impossible.
      
      In the initial user_namespace the only difference between between
      cap_raised(current_cap(), CAP_SYS_ADMIN) and capable(CAP_SYS_ADMIN) are a
      few sanity checks and the fact that capable(CAP_SYS_ADMIN) sets
      PF_SUPERPRIV if we use the capability.
      
      Since we are going to be using root privilege setting PF_SUPERPRIV seems
      the right thing to do.
      
      The motivation for this that patch is that in a child user namespace
      cap_raised(current_cap(),...) tests your capabilities with respect to that
      child user namespace not capabilities in the initial user namespace and
      thus will allow processes that should be unprivielged to use the kernel
      services that are only protected with cap_raised(current_cap(),..).
      
      To fix possible user_namespace issues and to just clean up the code
      replace cap_raised(current_cap(), CAP_SYS_ADMIN) with
      capable(CAP_SYS_ADMIN).
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Cc: Patrick McHardy <kaber@trash.net>
      Cc: Philipp Reisner <philipp.reisner@linbit.com>
      Acked-by: NSerge E. Hallyn <serge.hallyn@canonical.com>
      Acked-by: NAndrew G. Morgan <morgan@kernel.org>
      Cc: Vasiliy Kulikov <segoon@openwall.com>
      Cc: David Howells <dhowells@redhat.com>
      Reviewed-by: NJames Morris <james.l.morris@oracle.com>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      38bf1953
    • N
      sctp: check cached dst before using it · e0268868
      Nicolas Dichtel 提交于
      dst_check() will take care of SA (and obsolete field), hence
      IPsec rekeying scenario is taken into account.
      Signed-off-by: NNicolas Dichtel <nicolas.dichtel@6wind.com>
      Acked-by: NVlad Yaseivch <vyasevich@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e0268868
    • E
      pktgen: fix crash at module unload · c57b5468
      Eric Dumazet 提交于
      commit 7d3d43da (net: In unregister_netdevice_notifier unregister
      the netdevices.) makes pktgen crashing at module unload.
      
      [  296.820578] BUG: spinlock bad magic on CPU#6, rmmod/3267
      [  296.820719]  lock: ffff880310c38000, .magic: ffff8803, .owner: <none>/-1, .owner_cpu: -1
      [  296.820943] Pid: 3267, comm: rmmod Not tainted 3.4.0-rc5+ #254
      [  296.821079] Call Trace:
      [  296.821211]  [<ffffffff8168a715>] spin_dump+0x8a/0x8f
      [  296.821345]  [<ffffffff8168a73b>] spin_bug+0x21/0x26
      [  296.821507]  [<ffffffff812b4741>] do_raw_spin_lock+0x131/0x140
      [  296.821648]  [<ffffffff8169188e>] _raw_spin_lock+0x1e/0x20
      [  296.821786]  [<ffffffffa00cc0fd>] __pktgen_NN_threads+0x4d/0x140 [pktgen]
      [  296.821928]  [<ffffffffa00ccf8d>] pktgen_device_event+0x10d/0x1e0 [pktgen]
      [  296.822073]  [<ffffffff8154ed4f>] unregister_netdevice_notifier+0x7f/0x100
      [  296.822216]  [<ffffffffa00d2a0b>] pg_cleanup+0x48/0x73 [pktgen]
      [  296.822357]  [<ffffffff8109528e>] sys_delete_module+0x17e/0x2a0
      [  296.822502]  [<ffffffff81699652>] system_call_fastpath+0x16/0x1b
      
      Hold the pktgen_thread_lock while splicing pktgen_threads, and test
      pktgen_exiting in pktgen_device_event() to make unload faster.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Eric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c57b5468
    • D
      Revert "net: maintain namespace isolation between vlan and real device" · 59b9997b
      David S. Miller 提交于
      This reverts commit 8a83a00b.
      
      It causes regressions for S390 devices, because it does an
      unconditional DST drop on SKBs for vlans and the QETH device
      needs the neighbour entry hung off the DST for certain things
      on transmit.
      
      Arnd can't remember exactly why he even needed this change.
      
      Conflicts:
      
      	drivers/net/macvlan.c
      	net/8021q/vlan_dev.c
      	net/core/dev.c
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      59b9997b
    • T
      ehea: fix losing of NEQ events when one event occurred early · 380ec964
      Thadeu Lima de Souza Cascardo 提交于
      The NEQ interrupt is only triggered when there was no previous pending
      interrupt. If we request irq handling after an interrupt has occurred,
      we will never get an interrupt until we call H_RESET_EVENTS.
      
      Events seem to be cleared when we first register the NEQ. So, when we
      requested irq handling right after registering it, a possible race with
      an interrupt was much less likely. Now, there is a chance we may lose
      this race and never get any events.
      
      The fix here is to poll and acknowledge any events that might have
      happened right after registering the irq handler.
      Signed-off-by: NThadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      380ec964
    • B
      igb: fix rtnl race in PM resume path · cfb8c3aa
      Benjamin Poirier 提交于
      Since the caller (PM resume code) is not the one holding rtnl, when taking the
      'else' branch rtnl may be released at any moment, thereby defeating the whole
      purpose of this code block.
      Signed-off-by: NBenjamin Poirier <bpoirier@suse.de>
      Tested-by: NJeff Pieper <jeffrey.e.pieper@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cfb8c3aa
    • D
      ipv4: Do not use dead fib_info entries. · dccd9ecc
      David S. Miller 提交于
      Due to RCU lookups and RCU based release, fib_info objects can
      be found during lookup which have fi->fib_dead set.
      
      We must ignore these entries, otherwise we risk dereferencing
      the parts of the entry which are being torn down.
      Reported-by: NYevgen Pronenko <yevgen.pronenko@sonymobile.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      dccd9ecc
  2. 10 5月, 2012 1 次提交
  3. 09 5月, 2012 3 次提交
  4. 08 5月, 2012 2 次提交
  5. 07 5月, 2012 2 次提交
    • B
      cdc_ether: Ignore bogus union descriptor for RNDIS devices · 6eddcb4c
      Bjørn Mork 提交于
      Some RNDIS devices include a bogus CDC Union descriptor pointing
      to non-existing interfaces.  The RNDIS code is already prepared
      to handle devices without a CDC Union descriptor by hardwiring
      the driver to use interfaces 0 and 1, which is correct for the
      devices with the bogus descriptor as well. So we can reuse the
      existing workaround.
      
      Cc: Markus Kolb <linux-201011@tower-net.de>
      Cc: Iker Salmón San Millán <shaola@esdebian.org>
      Cc: Jonathan Nieder <jrnieder@gmail.com>
      Cc: Oliver Neukum <oliver@neukum.org>
      Cc: 655387@bugs.debian.org
      Cc: stable@vger.kernel.org
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6eddcb4c
    • A
      bnx2x: bug fix when loading after SAN boot · 24f06716
      Ariel Elior 提交于
      This is a bug fix for an "interface fails to load" issue.
      The issue occurs when bnx2x driver loads after UNDI driver was previously
      loaded over the chip. In such a scenario the UNDI driver is loaded and operates
      in the pre-boot kernel, within its own specific host memory address range.
      When the pre-boot stage is complete, the real kernel is loaded, in a new and
      distinct host memory address range. The transition from pre-boot stage to boot
      is asynchronous from UNDI point of view.
      
      A race condition occurs when UNDI driver triggers a DMAE transaction to valid
      host addresses in the pre-boot stage, when control is diverted to the real
      kernel. This results in access to illegal addresses by our HW as the addresses
      which were valid in the preboot stage are no longer considered valid.
      Specifically, the 'was_error' bit in the pci glue of our device is set. This
      causes all following pci transactions from chip to host to timeout (in
      accordance to the pci spec).
      Signed-off-by: NAriel Elior <ariele@broadcom.com>
      Signed-off-by: NEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      24f06716
  6. 05 5月, 2012 1 次提交
  7. 04 5月, 2012 17 次提交
    • D
    • A
      e1000: Silence sparse warnings by correcting type · dd7f5c9e
      Andrei Emeltchenko 提交于
      Silence sparse warnings shown below:
      ...
      drivers/net/ethernet/intel/e1000/e1000_main.c:3435:17: warning:
      	cast to restricted __le64
      drivers/net/ethernet/intel/e1000/e1000_main.c:3435:17: warning:
      	cast to restricted __le64
      ...
      Signed-off-by: NAndrei Emeltchenko <andrei.emeltchenko@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      dd7f5c9e
    • J
      igb, ixgbe: netdev_tx_reset_queue incorrectly called from tx init path · dad8a3b3
      John Fastabend 提交于
      igb and ixgbe incorrectly call netdev_tx_reset_queue() from
      i{gb|xgbe}_clean_tx_ring() this sort of works in most cases except
      when the number of real tx queues changes. When the number of real
      tx queues changes netdev_tx_reset_queue() only gets called on the
      new number of queues so when we reduce the number of queues we risk
      triggering the watchdog timer and repeated device resets.
      
      So this is not only a cosmetic issue but causes real bugs. For
      example enabling/disabling DCB or FCoE in ixgbe will trigger this.
      
      CC: Alexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: NJohn Fastabend <john.r.fastabend@intel.com>
      Tested-by: NJohn Bishop <johnx.bishop@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      dad8a3b3
    • A
      openvswitch: Release rtnl_lock if ovs_vport_cmd_build_info() failed. · 4cb6e116
      Ansis Atteka 提交于
      This patch fixes a possible lock-up bug where rtnl_lock might not
      get released.
      Signed-off-by: NAnsis Atteka <aatteka@nicira.com>
      Signed-off-by: NJesse Gross <jesse@nicira.com>
      4cb6e116
    • L
      Merge tag 'mfd-for-linus-3.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 · 0a6ba092
      Linus Torvalds 提交于
      Pull second set of MFD fixes from Samuel Ortiz:
       "This time we only have a one liner fixing an omap-usb build error."
      
      * tag 'mfd-for-linus-3.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:
        mfd: Fix build breakage in omap-usb-host.c
      0a6ba092
    • L
      Merge branch 'efi-vars' from Matthew Garrett · 65e62b50
      Linus Torvalds 提交于
      * efi-vars:
        efivars: Improve variable validation
      65e62b50
    • M
      efivars: Improve variable validation · 54b3a4d3
      Matthew Garrett 提交于
      Ben Hutchings pointed out that the validation in efivars was inadequate -
      most obviously, an entry with size 0 would server as a DoS against the
      kernel. Improve this based on his suggestions.
      Signed-off-by: NMatthew Garrett <mjg@redhat.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      54b3a4d3
    • L
      Merge tag 'tag/upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · 6b4c555a
      Linus Torvalds 提交于
      Pull libata fixes from Jeff Garzik:
      
      1) Fix regression that could cause a misdiagnosis, which in turn could
         lead to an erroneous 3.0 Gbps -> 1.5 downshift, particularly when hotplug
         and suspend/resume is involved.
      
      2) Fix a regression that led to ata%d controller ids being numbered one
         larger than in <= 3.4-rc3 (oh, the horror!).  Controller ids should now be
         as expected.
      
      3) add some DT, PCI id's
      
      4) ata/pata_arasan_cf: minor cpp fixing/cleaning
      
      * tag 'tag/upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        ata: ahci_platform: Add synopsys ahci controller in DT's compatible list
        ata/pata_arasan_cf: Move arasan_cf_pm_ops out of #ifdef, #endif macros
        libata: init ata_print_id to 0
        ahci: Detect Marvell 88SE9172 SATA controller
        libata: skip old error history when counting probe trials
      6b4c555a
    • L
      Merge branch 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux · 4e78f002
      Linus Torvalds 提交于
      Pull i2c embedded fixes from Wolfram Sang:
       "Here are some typical i2c driver bugfixes for 3.4.  Missed clock
        handling, improper timeout fixes, hardware wrokarounds...  All
        patches have been in linux-next for a few days, too."
      
      * 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux:
        i2c: mxs: disable QUEUE when sending is done
        i2c: mxs: handle spurious interrupt
        i2c-eg20t: Modify MODULE_AUTHOR's email address
        i2c-eg20t: change timeout value 50msec to 1000msec
        i2c: tegra: Add delay before resetting the controller after NACK
        i2c: pnx: Disable clk in suspend
      4e78f002
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · f5645b59
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Just some regression fixes from Ben along with a variable that gcc
        failed to spot is uninitialised."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        nouveau: initialise has_optimus variable.
        drm/nv10/gpio: fix thinko in mask for gpio lines 2-9
        nvc0/fb: shut up PMFB interrupt after the first occurrence
        drm/nouveau/hdmi: use correct hdmi regs for nvaa/nvac
        drm/nouveau/bios: fix regression on some nv4x board
      f5645b59
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · c42f1d4b
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Transfer padding was wrong for full-speed USB in ASIX driver, fix
          from Ingo van Lil.
      
       2) Propagate the negative packet offset fix into the PowerPC BPF JIT.
          From Jan Seiffert.
      
       3) dl2k driver's private ioctls were letting unprivileged tasks make
          MII writes and other ugly bits like that.  Fix from Jeff Mahoney.
      
       4) Fix TX VLAN and RX packet drops in ucc_geth, from Joakim Tjernlund.
      
       5) OOPS and network namespace fixes in IPVS from Hans Schillstrom and
          Julian Anastasov.
      
       6) Fix races and sleeping in locked context bugs in drop_monitor, from
          Neil Horman.
      
       7) Fix link status indication in smsc95xx driver, from Paolo Pisati.
      
       8) Fix bridge netfilter OOPS, from Peter Huang.
      
       9) L2TP sendmsg can return on error conditions with the socket lock
          held, oops.  Fix from Sasha Levin.
      
      10) udp_diag should return meaningful values for socket memory usage,
          from Shan Wei.
      
      11) Eric Dumazet is so awesome he gets his own section:
      
             Socket memory cgroup code (I never should have applied those
             patches, grumble...) made erroneous changes to
             sk_sockets_allocated_read_positive().  It was changed to
             use percpu_counter_sum_positive (which requires BH disabling)
             instead of percpu_counter_read_positive (which does not).
             Revert back to avoid crashes and lockdep warnings.
      
             Adjust the default tcp_adv_win_scale and tcp_rmem[2] values
             to fix throughput regressions.  This is necessary as a result
             of our more precise skb->truesize tracking.
      
             Fix SKB leak in netem packet scheduler.
      
      12) New device IDs for various bluetooth devices, from Manoj Iyer,
          AceLan Kao, and Steven Harms.
      
      13) Fix command completion race in ipw2200, from Stanislav Yakovlev.
      
      14) Fix rtlwifi oops on unload, from Larry Finger.
      
      15) Fix hard_mtu when adjusting hard_header_len in smsc95xx driver.
          From Stephane Fillod.
      
      16) ehea driver registers it's IRQ before all the necessary state is
          setup, resulting in crashes.  Fix from Thadeu Lima de Souza
          Cascardo.
      
      17) Fix PHY connection failures in davinci_emac driver, from Anatolij
          Gustschin.
      
      18) Missing break; in switch statement in bluetooth's
          hci_cmd_complete_evt().  Fix from Szymon Janc.
      
      19) Fix queue programming in iwlwifi, from Johannes Berg.
      
      20) Interrupt throttling defaults not being actually programmed into the
          hardware, fix from Jeff Kirsher and Ying Cai.
      
      21) TLAN driver SKB encoding in descriptor busted on 64-bit, fix from
          Benjamin Poirier.
      
      22) Fix blind status block RX producer pointer deref in TG3 driver, from
          Matt Carlson.
      
      23) Promisc and multicast are busted on ehea, fixes from Thadeu Lima de
          Souza Cascardo.
      
      24) Fix crashes in 6lowpan, from Alexander Smirnov.
      
      25) tcp_complete_cwr() needs to be careful to not rewind the CWND to
          ssthresh if ssthresh has the "infinite" value.  Fix from Yuchung
          Cheng.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (81 commits)
        sungem: Fix WakeOnLan
        tcp: change tcp_adv_win_scale and tcp_rmem[2]
        net: l2tp: unlock socket lock before returning from l2tp_ip_sendmsg
        drop_monitor: prevent init path from scheduling on the wrong cpu
        usbnet: fix failure handling in usbnet_probe
        usbnet: fix leak of transfer buffer of dev->interrupt
        ucc_geth: Add 16 bytes to max TX frame for VLANs
        net: ucc_geth, increase no. of HW RX descriptors
        netem: fix possible skb leak
        sky2: fix receive length error in mixed non-VLAN/VLAN traffic
        sky2: propogate rx hash when packet is copied
        net: fix two typos in skbuff.h
        cxgb3: Don't call cxgb_vlan_mode until q locks are initialized
        ixgbe: fix calling skb_put on nonlinear skb assertion bug
        ixgbe: Fix a memory leak in IEEE DCB
        igbvf: fix the bug when initializing the igbvf
        smsc75xx: enable mac to detect speed/duplex from phy
        smsc75xx: declare smsc75xx's MII as GMII capable
        smsc75xx: fix phy interrupt acknowledge
        smsc75xx: fix phy init reset loop
        ...
      c42f1d4b
    • L
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 913a9041
      Linus Torvalds 提交于
      Pull hwmon fixes from Guenter Roeck:
       "Fix OOPS seen in coretemp driver if the CPU core ID is too large"
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (coretemp) Increase CPU core limit
        hwmon: (coretemp) fix oops on cpu unplug
      913a9041
    • V
      ata: ahci_platform: Add synopsys ahci controller in DT's compatible list · 5f098a3e
      Viresh Kumar 提交于
      SPEAr13xx series of SoCs contain Synopsys AHCI SATA Controller which shares
      ahci_platform driver with other controller versions.
      
      This patch updates DT compatible list for ahci_platform. It also updates and
      renames binding documentation to more generic name.
      Signed-off-by: NViresh Kumar <viresh.kumar@st.com>
      Cc: Rob Herring <rob.herring@calxeda.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      5f098a3e
    • V
      ata/pata_arasan_cf: Move arasan_cf_pm_ops out of #ifdef, #endif macros · fb9751d4
      Viresh Kumar 提交于
      #ifdef, #endif is not required in definition/usage of arasan_cf_pm_ops. So, move
      this definition and its usage outside of them.
      Signed-off-by: NViresh Kumar <viresh.kumar@st.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      fb9751d4
    • T
      libata: init ata_print_id to 0 · a78f57af
      Tero Roponen 提交于
      When comparing the dmesg between 3.4-rc3 and 3.4-rc4 I found the
      following differences:
      
       -ata1: SATA max UDMA/133 abar m2048@0xf9fff000 port 0xf9fff100 irq 47
       -ata2: SATA max UDMA/133 abar m2048@0xf9fff000 port 0xf9fff180 irq 47
       -ata3: DUMMY
       +ata2: SATA max UDMA/133 abar m2048@0xf9fff000 port 0xf9fff100 irq 47
       +ata3: SATA max UDMA/133 abar m2048@0xf9fff000 port 0xf9fff180 irq 47
        ata4: DUMMY
        ata5: DUMMY
       -ata6: SATA max UDMA/133 abar m2048@0xf9fff000 port 0xf9fff380 irq 47
       +ata6: DUMMY
       +ata7: SATA max UDMA/133 abar m2048@0xf9fff000 port 0xf9fff380 irq 47
      
      The change of numbering comes from commit 85d6725b ("libata:
      make ata_print_id atomic") that changed lines like
      
      	ap->print_id = ata_print_id++;
      		to
      	ap->print_id = atomic_inc_return(&ata_print_id);
      
      As the latter behaves like ++ata_print_id, we must initialize
      it to zero to start the numbering from one.
      Signed-off-by: NTero Roponen <tero.roponen@gmail.com>
      Acked-by: NDan Williams <dan.j.williams@intel.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      a78f57af
    • M
      ahci: Detect Marvell 88SE9172 SATA controller · 642d8925
      Matt Johnson 提交于
      The Marvell 88SE9172 SATA controller (PCI ID 1b4b 917a) already worked
      once it was detected, but was missing an ahci_pci_tbl entry.
      
      Boot tested on a Gigabyte Z68X-UD3H-B3 motherboard.
      Signed-off-by: NMatt Johnson <johnso87@illinois.edu>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      642d8925
    • L
      libata: skip old error history when counting probe trials · 6868225e
      Lin Ming 提交于
      Commit d9027470("[libata] Add ATA transport class") introduced
      ATA_EFLAG_OLD_ER to mark entries in the error ring as cleared.
      
      But ata_count_probe_trials_cb() didn't check this flag and it still
      counts the old error history. So wrong probe trials count is returned
      and it causes problem, for example, SATA link speed is slowed down from
      3.0Gbps to 1.5Gbps.
      
      Fix it by checking ATA_EFLAG_OLD_ER in ata_count_probe_trials_cb().
      
      Cc: stable <stable@vger.kernel.org> # 2.6.37+
      Signed-off-by: NLin Ming <ming.m.lin@intel.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      6868225e
  8. 03 5月, 2012 6 次提交