Skip to content
  1. Oct 20, 2011
  2. Oct 13, 2011
  3. Oct 08, 2011
  4. Oct 07, 2011
    • Linus Torvalds's avatar
      Merge git://github.com/davem330/net · 3ee72ca9
      Linus Torvalds authored
      * git://github.com/davem330/net:
        net: fix typos in Documentation/networking/scaling.txt
        bridge: leave carrier on for empty bridge
        netfilter: Use proper rwlock init function
        tcp: properly update lost_cnt_hint during shifting
        tcp: properly handle md5sig_pool references
        macvlan/macvtap: Fix unicast between macvtap interfaces in bridge mode
      3ee72ca9
    • Paul Menzel's avatar
      x86/PCI: use host bridge _CRS info on ASUS M2V-MX SE · 29cf7a30
      Paul Menzel authored
      In summary, this DMI quirk uses the _CRS info by default for the ASUS
      M2V-MX SE by turning on `pci=use_crs` and is similar to the quirk
      added by commit 2491762c ("x86/PCI: use host bridge _CRS info on
      ASRock ALiveSATA2-GLAN") whose commit message should be read for further
      information.
      
      Since commit 3e3da00c
      
       ("x86/pci: AMD one chain system to use pci
      read out res") Linux gives the following oops:
      
          parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
          HDA Intel 0000:20:01.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
          HDA Intel 0000:20:01.0: setting latency timer to 64
          BUG: unable to handle kernel paging request at ffffc90011c08000
          IP: [<ffffffffa0578402>] azx_probe+0x3ad/0x86b [snd_hda_intel]
          PGD 13781a067 PUD 13781b067 PMD 1300ba067 PTE 800000fd00000173
          Oops: 0009 [#1] SMP
          last sysfs file: /sys/module/snd_pcm/initstate
          CPU 0
          Modules linked in: snd_hda_intel(+) snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event tpm_tis tpm snd_seq tpm_bios psmouse parport_pc snd_timer snd_seq_device parport processor evdev snd i2c_viapro thermal_sys amd64_edac_mod k8temp i2c_core soundcore shpchp pcspkr serio_raw asus_atk0110 pci_hotplug edac_core button snd_page_alloc edac_mce_amd ext3 jbd mbcache sha256_generic cryptd aes_x86_64 aes_generic cbc dm_crypt dm_mod raid1 md_mod usbhid hid sg sd_mod crc_t10dif sr_mod cdrom ata_generic uhci_hcd sata_via pata_via libata ehci_hcd usbcore scsi_mod via_rhine mii nls_base [last unloaded: scsi_wait_scan]
          Pid: 1153, comm: work_for_cpu Not tainted 2.6.37-1-amd64 #1 M2V-MX SE/System Product Name
          RIP: 0010:[<ffffffffa0578402>]  [<ffffffffa0578402>] azx_probe+0x3ad/0x86b [snd_hda_intel]
          RSP: 0018:ffff88013153fe50  EFLAGS: 00010286
          RAX: ffffc90011c08000 RBX: ffff88013029ec00 RCX: 0000000000000006
          RDX: 0000000000000000 RSI: 0000000000000246 RDI: 0000000000000246
          RBP: ffff88013341d000 R08: 0000000000000000 R09: 0000000000000040
          R10: 0000000000000286 R11: 0000000000003731 R12: ffff88013029c400
          R13: 0000000000000000 R14: 0000000000000000 R15: ffff88013341d090
          FS:  0000000000000000(0000) GS:ffff8800bfc00000(0000) knlGS:00000000f7610ab0
          CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
          CR2: ffffc90011c08000 CR3: 0000000132f57000 CR4: 00000000000006f0
          DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
          DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
          Process work_for_cpu (pid: 1153, threadinfo ffff88013153e000, task ffff8801303c86c0)
          Stack:
           0000000000000005 ffffffff8123ad65 00000000000136c0 ffff88013029c400
           ffff8801303c8998 ffff88013341d000 ffff88013341d090 ffff8801322d9dc8
           ffff88013341d208 0000000000000000 0000000000000000 ffffffff811ad232
          Call Trace:
           [<ffffffff8123ad65>] ? __pm_runtime_set_status+0x162/0x186
           [<ffffffff811ad232>] ? local_pci_probe+0x49/0x92
           [<ffffffff8105afc5>] ? do_work_for_cpu+0x0/0x1b
           [<ffffffff8105afc5>] ? do_work_for_cpu+0x0/0x1b
           [<ffffffff8105afd0>] ? do_work_for_cpu+0xb/0x1b
           [<ffffffff8105fd3f>] ? kthread+0x7a/0x82
           [<ffffffff8100a824>] ? kernel_thread_helper+0x4/0x10
           [<ffffffff8105fcc5>] ? kthread+0x0/0x82
           [<ffffffff8100a820>] ? kernel_thread_helper+0x0/0x10
          Code: f4 01 00 00 ef 31 f6 48 89 df e8 29 dd ff ff 85 c0 0f 88 2b 03 00 00 48 89 ef e8 b4 39 c3 e0 8b 7b 40 e8 fc 9d b1 e0 48 8b 43 38 <66> 8b 10 66 89 14 24 8b 43 14 83 e8 03 83 f8 01 77 32 31 d2 be
          RIP  [<ffffffffa0578402>] azx_probe+0x3ad/0x86b [snd_hda_intel]
           RSP <ffff88013153fe50>
          CR2: ffffc90011c08000
          ---[ end trace 8d1f3ebc136437fd ]---
      
      Trusting the ACPI _CRS information (`pci=use_crs`) fixes this problem.
      
          $ dmesg | grep -i crs # with the quirk
          PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
      
      The match has to be against the DMI board entries though since the vendor entries are not populated.
      
          DMI: System manufacturer System Product Name/M2V-MX SE, BIOS 0304    10/30/2007
      
      This quirk should be removed when `pci=use_crs` is enabled for machines
      from 2006 or earlier or some other solution is implemented.
      
      Using coreboot [1] with this board the problem does not exist but this
      quirk also does not affect it either. To be safe though the check is
      tightened to only take effect when the BIOS from American Megatrends is
      used.
      
              15:13 < ruik> but coreboot does not need that
              15:13 < ruik> because i have there only one root bus
              15:13 < ruik> the audio is behind a bridge
      
              $ sudo dmidecode
              BIOS Information
                      Vendor: American Megatrends Inc.
                      Version: 0304
                      Release Date: 10/30/2007
      
      [1] http://www.coreboot.org/
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=30552
      
      Cc: stable@kernel.org (2.6.34)
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: x86@kernel.org
      Signed-off-by: default avatarPaul Menzel <paulepanter@users.sourceforge.net>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      29cf7a30
    • Benjamin Poirier's avatar
      net: fix typos in Documentation/networking/scaling.txt · 186c6bbc
      Benjamin Poirier authored
      
      
      The second hunk fixes rps_sock_flow_table but has to re-wrap the paragraph.
      
      Signed-off-by: default avatarBenjamin Poirier <benjamin.poirier@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      186c6bbc
    • stephen hemminger's avatar
      bridge: leave carrier on for empty bridge · b64b73d7
      stephen hemminger authored
      
      
      This resolves a regression seen by some users of bridging.
      Some users use the bridge like a dummy device.
      They expect to be able to put an IPv6 address on the device
      with no ports attached. Although there are better ways of doing
      this, there is no reason to not allow it.
      
      Note: the bridge still will reflect the state of ports in the
      bridge if there are any added.
      
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b64b73d7
  5. Oct 06, 2011
  6. Oct 05, 2011
  7. Oct 04, 2011
    • Takashi Iwai's avatar
      lis3: fix regression of HP DriveGuard with 8bit chip · 05faadcf
      Takashi Iwai authored
      Commit 2a7fade7
      
       ("hwmon: lis3: Power on corrections") caused a
      regression on HP laptops with 8bit chip.  Writing CTRL2_BOOT_8B bit seems
      clearing the BIOS setup, and no proper interrupt for DriveGuard will be
      triggered any more.
      
      Since the init code there is basically only for embedded devices, put a
      pdata check so that the problematic initialization will be skipped for
      hp_accel stuff.
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      Cc: Eric Piel <eric.piel@tremplin-utc.net>
      Cc: Samu Onkalo <samu.p.onkalo@nokia.com>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      05faadcf
    • Linus Torvalds's avatar
      Merge branch 'hwmon-for-linus' of git://github.com/groeck/linux · 0f86267b
      Linus Torvalds authored
      * 'hwmon-for-linus' of git://github.com/groeck/linux:
        hwmon: (coretemp) Avoid leaving around dangling pointer
        hwmon: (coretemp) Fixup platform device ID change
      0f86267b
    • Linus Torvalds's avatar
      Merge git://github.com/davem330/ide · 0d617928
      Linus Torvalds authored
      * git://github.com/davem330/ide:
        ide-disk: Fix request requeuing
      0d617928
    • Linus Torvalds's avatar
      Merge branch 'btrfs-3.0' of git://github.com/chrismason/linux · 7fd21be7
      Linus Torvalds authored
      * 'btrfs-3.0' of git://github.com/chrismason/linux:
        Btrfs: force a page fault if we have a shorty copy on a page boundary
      7fd21be7
    • Borislav Petkov's avatar
      ide-disk: Fix request requeuing · 2c8fc867
      Borislav Petkov authored
      
      
      Simon Kirby reported that on his RAID setup with idedisk underneath
      the box OOMs after a couple of days of runtime. Running with
      CONFIG_DEBUG_KMEMLEAK pointed to idedisk_prep_fn() which unconditionally
      allocates an ide_cmd struct. However, ide_requeue_and_plug() can be
      called more than once per request, either from the request issue or the
      IRQ handler path and do blk_peek_request() ends up in idedisk_prep_fn()
      repeatedly, allocating a struct ide_cmd everytime and "forgetting" the
      previous pointer.
      
      Make sure the code reuses the old allocated chunk.
      
      Reported-and-tested-by: default avatarSimon Kirby <sim@hostway.ca>
      Cc: <stable@kernel.org> [ 39.x, 3.0.x ]
      Link: http://marc.info/?l=linux-kernel&m=131667641517919
      Link: http://lkml.kernel.org/r/20110922072643.GA27232@hostway.ca
      Signed-off-by: default avatarBorislav Petkov <bp@alien8.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2c8fc867
    • Toshiharu Okada's avatar
      pch_gbe: Fixed the issue on which a network freezes · 805e969f
      Toshiharu Okada authored
      
      
      The pch_gbe driver has an issue which a network stops,
      when receiving traffic is high.
      In the case, The link down and up are necessary to return a network.
      
      This patch fixed this issue.
      
      Signed-off-by: default avatarToshiharu Okada <toshiharu-linux@dsn.okisemi.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      805e969f
    • Toshiharu Okada's avatar
      pch_gbe: Fixed the issue on which PC was frozen when link was downed. · 5f3a1141
      Toshiharu Okada authored
      
      
      When a link was downed during network use,
      there is an issue on which PC freezes.
      
      This patch fixed this issue.
      
      Signed-off-by: default avatarToshiharu Okada <toshiharu-linux@dsn.okisemi.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5f3a1141
    • Willem de Bruijn's avatar
      make PACKET_STATISTICS getsockopt report consistently between ring and non-ring · 7091fbd8
      Willem de Bruijn authored
      
      
      This is a minor change.
      
      Up until kernel 2.6.32, getsockopt(fd, SOL_PACKET, PACKET_STATISTICS,
      ...) would return total and dropped packets since its last invocation. The
      introduction of socket queue overflow reporting [1] changed drop
      rate calculation in the normal packet socket path, but not when using a
      packet ring. As a result, the getsockopt now returns different statistics
      depending on the reception method used. With a ring, it still returns the
      count since the last call, as counts are incremented in tpacket_rcv and
      reset in getsockopt. Without a ring, it returns 0 if no drops occurred
      since the last getsockopt and the total drops over the lifespan of
      the socket otherwise. The culprit is this line in packet_rcv, executed
      on a drop:
      
      drop_n_acct:
              po->stats.tp_drops = atomic_inc_return(&sk->sk_drops);
      
      As it shows, the new drop number it taken from the socket drop counter,
      which is not reset at getsockopt. I put together a small example
      that demonstrates the issue [2]. It runs for 10 seconds and overflows
      the queue/ring on every odd second. The reported drop rates are:
      ring: 16, 0, 16, 0, 16, ...
      non-ring: 0, 15, 0, 30, 0, 46, 0, 60, 0 , 74.
      
      Note how the even ring counts monotonically increase. Because the
      getsockopt adds tp_drops to tp_packets, total counts are similarly
      reported cumulatively. Long story short, reinstating the original code, as
      the below patch does, fixes the issue at the cost of additional per-packet
      cycles. Another solution that does not introduce per-packet overhead
      is be to keep the current data path, record the value of sk_drops at
      getsockopt() at call N in a new field in struct packetsock and subtract
      that when reporting at call N+1. I'll be happy to code that, instead,
      it's just more messy.
      
      [1] http://patchwork.ozlabs.org/patch/35665/
      [2] http://kernel.googlecode.com/files/test-packetsock-getstatistics.c
      
      Signed-off-by: default avatarWillem de Bruijn <willemb@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7091fbd8
    • David Vrabel's avatar
      net: xen-netback: correctly restart Tx after a VM restore/migrate · d0e5d832
      David Vrabel authored
      If a VM is saved and restored (or migrated) the netback driver will no
      longer process any Tx packets from the frontend.  xenvif_up() does not
      schedule the processing of any pending Tx requests from the front end
      because the carrier is off.  Without this initial kick the frontend
      just adds Tx requests to the ring without raising an event (until the
      ring is full).
      
      This was caused by 47103041
      
       (net:
      xen-netback: convert to hw_features) which reordered the calls to
      xenvif_up() and netif_carrier_on() in xenvif_connect().
      
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      Cc: Ian Campbell <ian.campbell@citrix.com>
      Acked-by: default avatarIan Campbell <ian.campbell@citrix.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d0e5d832
    • Andy Gospodarek's avatar
      bonding: properly stop queuing work when requested · a0db2dad
      Andy Gospodarek authored
      
      
      During a test where a pair of bonding interfaces using ARP monitoring
      were both brought up and torn down (with an rmmod) repeatedly, a panic
      in the timer code was noticed.  I tracked this down and determined that
      any of the bonding functions that ran as workqueue handlers and requeued
      more work might not properly exit when the module was removed.
      
      There was a flag protected by the bond lock called kill_timers that is
      set when the interface goes down or the module is removed, but many of
      the functions that monitor link status now unlock the bond lock to take
      rtnl first.  There is a chance that another CPU running the rmmod could
      get the lock and set kill_timers after the first check has passed.
      
      This patch does not allow any function to queue work that will make
      itself run unless kill_timers is not set.  I also noticed while doing
      this work that bond_resend_igmp_join_requests did not have a check for
      kill_timers, so I added the needed call there as well.
      
      Signed-off-by: default avatarAndy Gospodarek <andy@greyhouse.net>
      Reported-by: default avatarLiang Zheng <lzheng@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a0db2dad
    • Michel Dänzer's avatar
      drm/radeon: Set cursor x/y to 0 when x/yorigin > 0. · 02e6859e
      Michel Dänzer authored
      
      
      Apart from the obvious cleanup, this should make the line
      
      			cursor_end = x - xorigin + w;
      
      correct now.
      
      Signed-off-by: default avatarMichel Dänzer <michel.daenzer@amd.com>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      02e6859e