1. 28 1月, 2011 1 次提交
    • I
      xen: netfront: handle incoming GSO SKBs which are not CHECKSUM_PARTIAL · e0ce4af9
      Ian Campbell 提交于
      The Linux network stack expects all GSO SKBs to have ip_summed ==
      CHECKSUM_PARTIAL (which implies that the frame contains a partial
      checksum) and the Xen network ring protocol similarly expects an SKB
      which has GSO set to also have NETRX_csum_blank (which also implies a
      partial checksum).
      
      However there have been cases of buggy guests which mark a frame as
      GSO but do not set csum_blank. If we detect that we a receiving such a
      frame (which manifests as ip_summed != PARTIAL && skb_is_gso) then
      force the SKB to partial and recalculate the checksum, since we cannot
      rely on the peer having done so if they have not set csum_blank.
      
      Add an ethtool stat to track occurances of this event.
      Signed-off-by: NIan Campbell <ian.campbell@citrix.com>
      Cc: Jeremy Fitzhardinge <jeremy@goop.org>
      Cc: David Miller <davem@davemloft.net>
      Cc: xen-devel@lists.xensource.com
      Cc: netdev@vger.kernel.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e0ce4af9
  2. 27 1月, 2011 3 次提交
  3. 26 1月, 2011 1 次提交
  4. 25 1月, 2011 4 次提交
  5. 24 1月, 2011 6 次提交
  6. 23 1月, 2011 1 次提交
  7. 22 1月, 2011 11 次提交
  8. 21 1月, 2011 13 次提交
    • R
      powerpc/macintosh: Fix wrong test in fan_{read,write}_reg() · f32be0c5
      roel kluin 提交于
      Fix error test in fan_{read,write}_reg()
      Signed-off-by: NRoel Kluin <roel.kluin@gmail.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      f32be0c5
    • R
      ACPI / PM: Call suspend_nvs_free() earlier during resume · d551d81d
      Rafael J. Wysocki 提交于
      It turns out that some device drivers map pages from the ACPI NVS region
      during resume using ioremap(), which conflicts with ioremap_cache() used
      for mapping those pages by the NVS save/restore code in nvs.c.
      
      Make the NVS pages mapped by the code in nvs.c be unmapped before device
      drivers' resume routines run.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d551d81d
    • R
      ACPI: Introduce acpi_os_ioremap() · 2d6d9fd3
      Rafael J. Wysocki 提交于
      Commit ca9b600b ("ACPI / PM: Make suspend_nvs_save() use
      acpi_os_map_memory()") attempted to prevent the code in osl.c and nvs.c
      from using different ioremap() variants by making the latter use
      acpi_os_map_memory() for mapping the NVS pages.  However, that also
      requires acpi_os_unmap_memory() to be used for unmapping them, which
      causes synchronize_rcu() to be executed many times in a row
      unnecessarily and introduces substantial delays during resume on some
      systems.
      
      Instead of using acpi_os_map_memory() for mapping the NVS pages in nvs.c
      introduce acpi_os_ioremap() calling ioremap_cache() and make the code in
      both osl.c and nvs.c use it.
      Reported-by: NJeff Chua <jeff.chua.linux@gmail.com>
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2d6d9fd3
    • R
      backlight: fix 88pm860x_bl macro collision · 2550326a
      Randy Dunlap 提交于
      Fix collision with kernel-supplied #define:
      
        drivers/video/backlight/88pm860x_bl.c:24:1: warning: "CURRENT_MASK" redefined
        arch/x86/include/asm/page_64_types.h:6:1: warning: this is the location of the previous definition
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Cc: Haojian Zhuang <haojian.zhuang@marvell.com>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2550326a
    • J
      drivers/leds/ledtrig-gpio.c: make output match input, tighten input checking · cc587ece
      Janusz Krzysztofik 提交于
      Replicate changes made to drivers/leds/ledtrig-backlight.c.
      
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cc587ece
    • D
      kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT · 6a108a14
      David Rientjes 提交于
      The meaning of CONFIG_EMBEDDED has long since been obsoleted; the option
      is used to configure any non-standard kernel with a much larger scope than
      only small devices.
      
      This patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes
      references to the option throughout the kernel.  A new CONFIG_EMBEDDED
      option is added that automatically selects CONFIG_EXPERT when enabled and
      can be used in the future to isolate options that should only be
      considered for embedded systems (RISC architectures, SLOB, etc).
      
      Calling the option "EXPERT" more accurately represents its intention: only
      expert users who understand the impact of the configuration changes they
      are making should enable it.
      Reviewed-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NDavid Woodhouse <david.woodhouse@intel.com>
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Cc: Greg KH <gregkh@suse.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Robin Holt <holt@sgi.com>
      Cc: <linux-arch@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6a108a14
    • N
      bonding: Ensure that we unshare skbs prior to calling pskb_may_pull · b3053251
      Neil Horman 提交于
      Recently reported oops:
      
      kernel BUG at net/core/skbuff.c:813!
      invalid opcode: 0000 [#1] SMP
      last sysfs file: /sys/devices/virtual/net/bond0/broadcast
      CPU 8
      Modules linked in: sit tunnel4 cpufreq_ondemand acpi_cpufreq freq_table bonding
      ipv6 dm_mirror dm_region_hash dm_log cdc_ether usbnet mii serio_raw i2c_i801
      i2c_core iTCO_wdt iTCO_vendor_support shpchp ioatdma i7core_edac edac_core bnx2
      ixgbe dca mdio sg ext4 mbcache jbd2 sd_mod crc_t10dif mptsas mptscsih mptbase
      scsi_transport_sas dm_mod [last unloaded: microcode]
      
      Modules linked in: sit tunnel4 cpufreq_ondemand acpi_cpufreq freq_table bonding
      ipv6 dm_mirror dm_region_hash dm_log cdc_ether usbnet mii serio_raw i2c_i801
      i2c_core iTCO_wdt iTCO_vendor_support shpchp ioatdma i7core_edac edac_core bnx2
      ixgbe dca mdio sg ext4 mbcache jbd2 sd_mod crc_t10dif mptsas mptscsih mptbase
      scsi_transport_sas dm_mod [last unloaded: microcode]
      Pid: 0, comm: swapper Not tainted 2.6.32-71.el6.x86_64 #1 BladeCenter HS22
      -[7870AC1]-
      RIP: 0010:[<ffffffff81405b16>]  [<ffffffff81405b16>]
      pskb_expand_head+0x36/0x1e0
      RSP: 0018:ffff880028303b70  EFLAGS: 00010202
      RAX: 0000000000000002 RBX: ffff880c6458ec80 RCX: 0000000000000020
      RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff880c6458ec80
      RBP: ffff880028303bc0 R08: ffffffff818a6180 R09: ffff880c6458ed64
      R10: ffff880c622b36c0 R11: 0000000000000400 R12: 0000000000000000
      R13: 0000000000000180 R14: ffff880c622b3000 R15: 0000000000000000
      FS:  0000000000000000(0000) GS:ffff880028300000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
      CR2: 00000038653452a4 CR3: 0000000001001000 CR4: 00000000000006e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Process swapper (pid: 0, threadinfo ffff8806649c2000, task ffff880c64f16ab0)
      Stack:
       ffff880028303bc0 ffffffff8104fff9 000000000000001c 0000000100000000
      <0> ffff880000047d80 ffff880c6458ec80 000000000000001c ffff880c6223da00
      <0> ffff880c622b3000 0000000000000000 ffff880028303c10 ffffffff81407f7a
      Call Trace:
      <IRQ>
       [<ffffffff8104fff9>] ? __wake_up_common+0x59/0x90
       [<ffffffff81407f7a>] __pskb_pull_tail+0x2aa/0x360
       [<ffffffffa0244530>] bond_arp_rcv+0x2c0/0x2e0 [bonding]
       [<ffffffff814a0857>] ? packet_rcv+0x377/0x440
       [<ffffffff8140f21b>] netif_receive_skb+0x2db/0x670
       [<ffffffff8140f788>] napi_skb_finish+0x58/0x70
       [<ffffffff8140fc89>] napi_gro_receive+0x39/0x50
       [<ffffffffa01286eb>] ixgbe_clean_rx_irq+0x35b/0x900 [ixgbe]
       [<ffffffffa01290f6>] ixgbe_clean_rxtx_many+0x136/0x240 [ixgbe]
       [<ffffffff8140fe53>] net_rx_action+0x103/0x210
       [<ffffffff81073bd7>] __do_softirq+0xb7/0x1e0
       [<ffffffff810d8740>] ? handle_IRQ_event+0x60/0x170
       [<ffffffff810142cc>] call_softirq+0x1c/0x30
       [<ffffffff81015f35>] do_softirq+0x65/0xa0
       [<ffffffff810739d5>] irq_exit+0x85/0x90
       [<ffffffff814cf915>] do_IRQ+0x75/0xf0
       [<ffffffff81013ad3>] ret_from_intr+0x0/0x11
       <EOI>
       [<ffffffff8101bc01>] ? mwait_idle+0x71/0xd0
       [<ffffffff814cd80a>] ? atomic_notifier_call_chain+0x1a/0x20
       [<ffffffff81011e96>] cpu_idle+0xb6/0x110
       [<ffffffff814c17c8>] start_secondary+0x1fc/0x23f
      
      Resulted from bonding driver registering packet handlers via dev_add_pack and
      then trying to call pskb_may_pull. If another packet handler (like for AF_PACKET
      sockets) gets called first, the delivered skb will have a user count > 1, which
      causes pskb_may_pull to BUG halt when it does its skb_shared check.  Fix this by
      calling skb_share_check prior to the may_pull call sites in the bonding driver
      to clone the skb when needed.  Tested by myself and the reported successfully.
      
      Signed-off-by: Neil Horman
      CC: Andy Gospodarek <andy@greyhouse.net>
      CC: Jay Vosburgh <fubar@us.ibm.com>
      CC: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NAndy Gospodarek <andy@greyhouse.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b3053251
    • D
      cxgb4: fix reported state of interfaces without link · 6a3c869a
      Dimitris Michailidis 提交于
      Currently tools like ip and ifconfig report incorrect state for cxgb4
      interfaces that are up but do not have link and do so until first link
      establishment.  This is because the initial netif_carrier_off call is
      before register_netdev and it needs to be after to be fully effective.
      Fix this by moving netif_carrier_off into .ndo_open.
      Signed-off-by: NDimitris Michailidis <dm@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6a3c869a
    • L
      i915: Fix i915 suspend delay · d7b9935a
      Linus Torvalds 提交于
      During system suspend, the "wait for ring buffer to empty" loop would
      always time out after three seconds, because the faster cached ring
      buffer head read would always return zero.  Force the slow-and-careful
      PIO read on all but the first iterations of the loop to fix it.
      
      This also removes the unused (and useless) 'actual_head' variable that
      tried to approximate doing this, but did it incorrectly.
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Dave Airlie <airlied@linux.ie>
      Cc: DRI mailing list <dri-devel@lists.freedesktop.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d7b9935a
    • S
      firewire: net: is not experimental anymore · 32471997
      Stefan Richter 提交于
      thanks to Clemens' and Maxim's fixes to firewire-ohci and -net in the
      last two kernel releases.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      32471997
    • M
      firewire: net: invalidate ARP entries of removed nodes · 74a14504
      Maxim Levitsky 提交于
      This makes it possible to resume communication with a node that dropped
      off the bus for a brief period.  Otherwise communication will only be
      possible after ARP cache entry timeouts.
      Signed-off-by: NMaxim Levitsky <maximlevitsky@gmail.com>
      Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (rebased)
      74a14504
    • S
      firewire: core: fix unstable I/O with Canon camcorder · 6044565a
      Stefan Richter 提交于
      Regression since commit 10389536, "firewire: core: check for 1394a
      compliant IRM, fix inaccessibility of Sony camcorder":
      
      The camcorder Canon MV5i generates lots of bus resets when asynchronous
      requests are sent to it (e.g. Config ROM read requests or FCP Command
      write requests) if the camcorder is not root node.  This causes drop-
      outs in videos or makes the camcorder entirely inaccessible.
      https://bugzilla.redhat.com/show_bug.cgi?id=633260
      
      Fix this by allowing any Canon device, even if it is a pre-1394a IRM
      like MV5i are, to remain root node (if it is at least Cycle Master
      capable).  With the FireWire controller cards that I tested, MV5i always
      becomes root node when plugged in and left to its own devices.
      
      Reported-by: Ralf Lange
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Cc: <stable@kernel.org> # 2.6.32.y and newer
      6044565a
    • L
      ACPI / Battery: remove battery refresh on resume · b23fffd7
      Linus Torvalds 提交于
      This partially reverts commit da8aeb92
      ("ACPI / Battery: Update information on info notification and resume"),
      which causes a hang on resume on at least some machines.
      
      This bug was bisected on an ASUS EeePC 901, which hangs at resume time
      if we do that "acpi_battery_refresh(battery)" in the battery resume
      function.
      
      Rafael suspects we'll still need to refresh the sysfs files upon resume,
      but that that can be done from a PM notifier (that will run after
      thawing user space).
      Bisected-and-tested-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Cc: Matthew Garrett <mjg@redhat.com>
      Cc: Len Brown <len.brown@intel.com>
      Acked-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b23fffd7