14 Oct, 2011

3 commits

  • Now that the ucode revision is available in cpu_data remove
    the existing code in coretemp.c to query it manually. Read the
    ucode revision from cpu_data instead

    Signed-off-by: Andi Kleen
    Acked-by: H. Peter Anvin
    Cc: jbeulich@novell.com
    Cc: fenghua.yu@intel.com
    Cc: khali@linux-fr.org
    Link: http://lkml.kernel.org/r/1318466795-7393-3-git-send-email-andi@firstfloor.org
    Signed-off-by: Ingo Molnar

    Andi Kleen
     
  • Now that the cpu update level is available the Atom PSE errata
    check can use it directly without reading the MSR again.

    Signed-off-by: Andi Kleen
    Acked-by: H. Peter Anvin
    Link: http://lkml.kernel.org/r/1318466795-7393-2-git-send-email-andi@firstfloor.org
    Signed-off-by: Ingo Molnar

    Andi Kleen
     
  • I got a request to make it easier to determine the microcode
    update level on Intel CPUs. This patch adds a new "microcode"
    field to /proc/cpuinfo.

    The microcode level is also outputed on fatal machine checks
    together with the other CPUID model information.

    I removed the respective code from the microcode update driver,
    it just reads the field from cpu_data. Also when the microcode
    is updated it fills in the new values too.

    I had to add a memory barrier to native_cpuid to prevent it
    being optimized away when the result is not used.

    This turns out to clean up further code which already got this
    information manually. This is done in followon patches.

    Signed-off-by: Andi Kleen
    Acked-by: H. Peter Anvin
    Link: http://lkml.kernel.org/r/1318466795-7393-1-git-send-email-andi@firstfloor.org
    Signed-off-by: Ingo Molnar

    Andi Kleen
     

13 Oct, 2011

4 commits

  • Requesting the microcode from userspace *every time* when onlining CPUs
    (during a CPU hotplug operation) is unnecessary. Thus, ensure that
    once the kernel gets the microcode after booting, it is not freed nor
    invalidated when a CPU goes offline, so that it can be reused when that
    CPU comes back online, without requesting userspace for it again. As a
    result, the CPU hotplug operations become faster as well.

    Signed-off-by: Srivatsa S. Bhat
    Acked-by: Rafael J. Wysocki
    Acked-by: Andreas Herrmann
    Link: http://lkml.kernel.org/r/4E91F908.5010006@linux.vnet.ibm.com
    Signed-off-by: Borislav Petkov

    Srivatsa S. Bhat
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    mscan: too much data copied to CAN frame due to 16 bit accesses
    gro: refetch inet6_protos[] after pulling ext headers
    bnx2x: fix cl_id allocation for non-eth clients for NPAR mode
    mlx4_en: fix endianness with blue frame support

    Linus Torvalds
     
  • Fix file references in drivers/ide/

    There are a lot of file references to now moved or deleted files in the
    whole tree, especially in documentation and Kconfig files. This patch
    fixes the references in drivers/ide/.

    Signed-off-by: Johann Felix Soden
    Signed-off-by: Randy Dunlap
    Acked-by: David S. Miller
    Signed-off-by: Linus Torvalds

    Johann Felix Soden
     
  • * 'btrfs-3.0' of git://github.com/chrismason/linux:
    Btrfs: make sure not to defrag extents past i_size
    Btrfs: fix recursive auto-defrag

    Linus Torvalds
     

11 Oct, 2011

6 commits

  • The btrfs file defrag code will loop through the extents and
    force COW on them. But there is a concurrent truncate in the middle of
    the defrag, it might end up defragging the same range over and over
    again.

    The problem is that writepage won't go through and do anything on pages
    past i_size, so the cow won't happen, so the file will appear to still
    be fragmented. defrag will end up hitting the same extents again and
    again.

    In the worst case, the truncate can actually live lock with the defrag
    because the defrag keeps creating new ordered extents which the truncate
    code keeps waiting on.

    The fix here is to make defrag check for i_size inside the main loop,
    instead of just once before the looping starts.

    Signed-off-by: Chris Mason

    Chris Mason
     
  • Follow those steps:

    # mount -o autodefrag /dev/sda7 /mnt
    # dd if=/dev/urandom of=/mnt/tmp bs=200K count=1
    # sync
    # dd if=/dev/urandom of=/mnt/tmp bs=8K count=1 conv=notrunc

    and then it'll go into a loop: writeback -> defrag -> writeback ...

    It's because writeback writes [8K, 200K] and then writes [0, 8K].

    I tried to make writeback know if the pages are dirtied by defrag,
    but the patch was a bit intrusive. Here I simply set writeback_index
    when we defrag a file.

    Signed-off-by: Li Zefan
    Signed-off-by: Chris Mason

    Li Zefan
     
  • Due to the 16 bit access to mscan registers there's too much data copied to
    the zero initialized CAN frame when having an odd number of bytes to copy.
    This patch ensures that only the requested bytes are copied by using an
    8 bit access for the remaining byte.

    Reported-by: Andre Naujoks
    Signed-off-by: Oliver Hartkopp
    Signed-off-by: Wolfgang Grandegger
    Signed-off-by: David S. Miller

    Wolfgang Grandegger
     
  • ipv6_gro_receive() doesn't update the protocol ops after pulling
    the ext headers. It looks like a typo.

    Signed-off-by: Zheng Yan
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Yan, Zheng
     
  • There are some consolidations of NPAR configuration
    when FCoE and iSCSI L2 clients will get the same id,
    in this case FCoE ring will be non-functional.

    Signed-off-by: Dmitry Kravkov
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Dmitry Kravkov
     
  • The doorbell register was being unconditionally swapped. In x86, that
    meant it was being swapped to BE and written to the descriptor and to
    memory, depending on the case of blue frame support or writing to
    doorbell register. On PPC, this meant it was being swapped to LE and
    then swapped back to BE while writing to the register. But in the blue
    frame case, it was being written as LE to the descriptor.

    The fix is not to swap doorbell unconditionally, write it to the
    register as BE and convert it to BE when writing it to the descriptor.

    Signed-off-by: Thadeu Lima de Souza Cascardo
    Reported-by: Richard Hendrickson
    Cc: Eli Cohen
    Cc: Yevgeny Petrilin
    Cc: Benjamin Herrenschmidt
    Signed-off-by: David S. Miller

    Thadeu Lima de Souza Cascardo
     

10 Oct, 2011

6 commits

  • * git://git.samba.org/sfrench/cifs-2.6:
    [CIFS] Fix first time message on mount, ntlmv2 upgrade delayed to 3.2

    Linus Torvalds
     
  • * 'fixes' of git://git.linaro.org/people/arnd/arm-soc:
    ARM: mach-ux500: enable fix for ARM errata 754322
    ARM: OMAP: musb: Remove a redundant omap4430_phy_init call in usb_musb_init
    ARM: OMAP: Fix i2c init for twl4030
    ARM: OMAP4: MMC: fix power and audio issue, decouple USBC1 from MMC1

    Linus Torvalds
     
  • This fixes a compilation error in cpu-tegra.c which was introduced in
    dc8d966bccde ("ARM: convert PCI defines to variables") which removed the
    now obsolete mach/hardware.h from the mach-tegra subtree.

    Signed-off-by: Marc Dietrich
    Signed-off-by: Olof Johansson
    Cc: Sergei Shtylyov
    Signed-off-by: Linus Torvalds

    Marc Dietrich
     
  • * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/radeon/kms: use hardcoded dig encoder to transmitter mapping for DCE4.1
    drm/radeon/kms: fix dp_detect handling for DP bridge chips
    drm/radeon/kms: retry aux transactions if there are status flags

    Linus Torvalds
     
  • A couple of changes to the Tegra maintainership setup:

    I'm very glad to bring on Stephen Warren on board as a maintainer. The
    work he has done so far is excellent, and the fact that he works for
    Nvidia means he has long-term interest in the platform.

    Erik Gilling did an astounding amount of work on getting things up and
    running but has been a silent partner on the maintainership side for a
    while, and is stepping down. Thanks for your contributions so far, Erik.

    Finally, update the git URL since I'll take over running the main repo
    for a while.

    Overall maintainership model isn't changing much at this time: We'll all
    three review patches as appropriate, and one of us will collect the main
    repo (me at this time).

    Signed-off-by: Olof Johansson
    Cc: Erik Gilling
    Acked-by: Colin Cross
    Acked-by: Stephen Warren
    Signed-off-by: Linus Torvalds

    Olof Johansson
     
  • * 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus: (29 commits)
    MIPS: Call oops_enter, oops_exit in die
    staging/octeon: Software should check the checksum of no tcp/udp packets
    MIPS: Octeon: Enable C0_UserLocal probing.
    MIPS: No branches in delay slots for huge pages in handle_tlbl
    MIPS: Don't clobber CP0_STATUS value for CONFIG_MIPS_MT_SMTC
    MIPS: Octeon: Select CONFIG_HOLES_IN_ZONE
    MIPS: PM: Use struct syscore_ops instead of sysdevs for PM (v2)
    MIPS: Compat: Use 32-bit wrapper for compat_sys_futex.
    MIPS: Do not use EXTRA_CFLAGS
    MIPS: Alchemy: DB1200: Disable cascade IRQ in handler
    SERIAL: Lantiq: Set timeout in uart_port
    MIPS: Lantiq: Fix setting the PCI bus speed on AR9
    MIPS: Lantiq: Fix external interrupt sources
    MIPS: tlbex: Fix build error in R3000 code.
    MIPS: Alchemy: Include Au1100 in PM code.
    MIPS: Alchemy: Fix typo in MAC0 registration
    MIPS: MSP71xx: Fix build error.
    MIPS: Handle __put_user() sleeping.
    MIPS: Allow forced irq threading
    MIPS: i8259: Mark cascade interrupt non-threaded
    ...

    Linus Torvalds
     

09 Oct, 2011

1 commit


08 Oct, 2011

1 commit


07 Oct, 2011

5 commits

  • This applies ARM errata fix 754322 for all ux500 platforms.

    Cc: stable@kernel.org
    Signed-off-by: srinidhi kasagar
    Signed-off-by: Linus Walleij

    srinidhi kasagar
     
  • * 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

    Linus Torvalds
     
  • 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 2491762cfb47 ("x86/PCI: use host bridge _CRS info on
    ASRock ALiveSATA2-GLAN") whose commit message should be read for further
    information.

    Since commit 3e3da00c01d0 ("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: [] 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:[] [] 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:
    [] ? __pm_runtime_set_status+0x162/0x186
    [] ? local_pci_probe+0x49/0x92
    [] ? do_work_for_cpu+0x0/0x1b
    [] ? do_work_for_cpu+0x0/0x1b
    [] ? do_work_for_cpu+0xb/0x1b
    [] ? kthread+0x7a/0x82
    [] ? kernel_thread_helper+0x4/0x10
    [] ? kthread+0x0/0x82
    [] ? 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 8b 10 66 89 14 24 8b 43 14 83 e8 03 83 f8 01 77 32 31 d2 be
    RIP [] azx_probe+0x3ad/0x86b [snd_hda_intel]
    RSP
    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
    Cc: Ingo Molnar
    Cc: H. Peter Anvin
    Cc: x86@kernel.org
    Signed-off-by: Paul Menzel
    Signed-off-by: Bjorn Helgaas
    Acked-by: Jesse Barnes
    Signed-off-by: Linus Torvalds

    Paul Menzel
     
  • The second hunk fixes rps_sock_flow_table but has to re-wrap the paragraph.

    Signed-off-by: Benjamin Poirier
    Signed-off-by: David S. Miller

    Benjamin Poirier
     
  • 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: Stephen Hemminger
    Signed-off-by: David S. Miller

    stephen hemminger
     

06 Oct, 2011

6 commits


05 Oct, 2011

8 commits

  • The HPD pin is not reliable for detecting whether a monitor
    is connected or not. Skip HPD and just use DDC or load
    detection.

    Fixes phantom VGA connected bugs.

    [Michel: fixes phantom VGA bugs on his llano system.]

    Signed-off-by: Alex Deucher
    Reviewed-by: Michel Dänzer
    Tested-by: Michel Dänzer
    Cc: stable@kernel.org
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • If there are error flags in the aux status, retry the transaction.
    This makes aux much more reliable, especially on llano systems.

    Signed-off-by: Alex Deucher
    Reviewed-by: Michel Dänzer
    Cc: stable@kernel.org
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • This reverts commit 71c86ce59791bcd67af937bbea719a508079d7c2.
    The 21UX2 does have touchstrips, but they are in a somewhat-
    hidden location.

    Signed-off-by: Jason Gerecke
    Acked-by: Ping Cheng
    Signed-off-by: Dmitry Torokhov

    Jason Gerecke
     
  • lost_skb_hint is used by tcp_mark_head_lost() to mark the first unhandled skb.
    lost_cnt_hint is the number of packets or sacked packets before the lost_skb_hint;
    When shifting a skb that is before the lost_skb_hint, if tcp_is_fack() is ture,
    the skb has already been counted in the lost_cnt_hint; if tcp_is_fack() is false,
    tcp_sacktag_one() will increase the lost_cnt_hint. So tcp_shifted_skb() does not
    need to adjust the lost_cnt_hint by itself. When shifting a skb that is equal to
    lost_skb_hint, the shifted packets will not be counted by tcp_mark_head_lost().
    So tcp_shifted_skb() should adjust the lost_cnt_hint even tcp_is_fack(tp) is true.

    Signed-off-by: Zheng Yan
    Signed-off-by: David S. Miller

    Yan, Zheng
     
  • tcp_v4_clear_md5_list() assumes that multiple tcp md5sig peers
    only hold one reference to md5sig_pool. but tcp_v4_md5_do_add()
    increases use count of md5sig_pool for each peer. This patch
    makes tcp_v4_md5_do_add() only increases use count for the first
    tcp md5sig peer.

    Signed-off-by: Zheng Yan
    Signed-off-by: David S. Miller

    Yan, Zheng
     
  • Packets should always be forwarded to the lowerdev using dev_forward_skb.
    vlan->forward is for packets being forwarded directly to another macvlan/
    macvtap device (used for multicast in bridge mode).

    Reported-and-tested-by: Shlomo Pongratz
    Signed-off-by: David Ward
    Signed-off-by: David S. Miller

    David Ward
     
  • Linus Torvalds
     
  • * git://github.com/davem330/net:
    pch_gbe: Fixed the issue on which a network freezes
    pch_gbe: Fixed the issue on which PC was frozen when link was downed.
    make PACKET_STATISTICS getsockopt report consistently between ring and non-ring
    net: xen-netback: correctly restart Tx after a VM restore/migrate
    bonding: properly stop queuing work when requested
    can bcm: fix incomplete tx_setup fix
    RDSRDMA: Fix cleanup of rds_iw_mr_pool
    net: Documentation: Fix type of variables
    ibmveth: Fix oops on request_irq failure
    ipv6: nullify ipv6_ac_list and ipv6_fl_list when creating new socket
    cxgb4: Fix EEH on IBM P7IOC
    can bcm: fix tx_setup off-by-one errors
    MAINTAINERS: tehuti: Alexander Indenbaum's address bounces
    dp83640: reduce driver noise
    ptp: fix L2 event message recognition

    Linus Torvalds