04 Nov, 2011

25 commits

  • Make use of the new i2c_smbus_{read,write}_word_swapped functions.
    This makes the driver code more compact and readable. It also ensures
    proper error handling.

    Signed-off-by: Jean Delvare
    Acked-by: Jonathan Cameron
    Acked-by: Guenter Roeck
    Cc: Dirk Eibach
    Cc: "Mark M. Hoffman"
    Cc: Guillaume Ligneul

    Jean Delvare
     
  • Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • Clean up the code to make it more readable:
    * Remove reg_ and new_ prefixes from variable names, they made the
    names longer, causing extra line breaks, while not adding much
    value.
    * Introduce struct device dev* = &client->dev in two functions, to
    avoid repeating client->dev everywhere in these functions.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • With some configuration option combinations, we get the following
    warnings:

    drivers/hwmon/lm90.c: In function 'lm90_detect':
    drivers/hwmon/lm90.c:1114: warning: 'chip_id' may be used uninitialized
    in this function
    drivers/hwmon/lm90.c:1114: warning: 'reg_config1' may be used
    uninitialized in this function
    drivers/hwmon/lm90.c:1114: warning: 'reg_convrate' may be used
    uninitialized in this function
    drivers/hwmon/lm90.c:1187: warning: 'reg_emerg2' may be used
    uninitialized in this function
    drivers/hwmon/lm90.c:1187: warning: 'reg_status2' may be used
    uninitialized in this function

    We can solve these easily by reading the register values first and
    checking for errors later. These errors should be very rare, even in
    the case of failed detection, so this change has no impact on
    performance. And this makes checkpatch.pl happier.

    Reported-by: Guenter Roeck
    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • Preallocate a buffer for the response to sensor reads, and reuse it
    for each read instead of allocating a new one each time. This should
    be faster and should also avoid memory fragmentation.

    Signed-off-by: Jean Delvare
    Acked-by: Darrick J. Wong
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • There is no good reason that I can see why the failure to initialize
    one instance should prevent other instances from being initialized.

    Signed-off-by: Jean Delvare
    Acked-by: Darrick J. Wong
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • I am under the impression that error paths in functions
    aem_init_aem1_inst() and aem_init_aem2_inst() are incorrect. In
    several cases, the function returns 0 on error, which I suspect is
    not intended. Fix this by properly tracking error codes.

    Signed-off-by: Jean Delvare
    Acked-by: Darrick J. Wong
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • Word reads can cause trouble with some I2C devices, so do as much
    detection as we can using only byte reads, and only use a word read in
    the end to confirm the positive match. Also properly handle read
    errors.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck
    Cc: Robert Casanova

    Jean Delvare
     
  • A modprobe of hwmon drivers that read/write ISA addresses on a powerpc results
    in a kernel Oops. These reads/writes are being done via the inb()/in_8() and
    outb()/out_8() macros.

    Prevent these drivers from being built for powerpc.

    Signed-off-by: Dean Nelson
    Signed-off-by: Jean Delvare

    Dean Nelson
     
  • * git://git.samba.org/sfrench/cifs-2.6:
    cifs: Assume passwords are encoded according to iocharset (try #2)
    CIFS: Fix the VFS brlock cache usage in posix locking case
    [CIFS] Update cifs version to 1.76
    CIFS: Remove extra mutex_unlock in cifs_lock_add_if

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (45 commits)
    be2net: Add detect UE feature for Lancer
    be2net: Prevent CQ full condition for Lancer
    be2net: Fix disabling multicast promiscous mode
    be2net: Fix endian issue in RX filter command
    af_packet: de-inline some helper functions
    MAINTAINERS: Add can-gw include to maintained files
    net: Add back alignment for size for __alloc_skb
    net: add missing bh_unlock_sock() calls
    l2tp: fix race in l2tp_recv_dequeue()
    ixgbevf: Update release version
    ixgbe: DCB, return max for IEEE traffic classes
    ixgbe: fix reading of the buffer returned by the firmware
    ixgbe: Fix compiler warnings
    ixgbe: fix smatch splat due to missing NULL check
    ixgbe: fix disabling of Tx laser at probe
    ixgbe: Fix link issues caused by a reset while interface is down
    igb: Fix for I347AT4 PHY cable length unit detection
    e100: make sure vlan support isn't advertised on old adapters
    e1000e: demote a debugging WARN to a debug log message
    net: fix typo in drivers/net/ethernet/xilinx/ll_temac_main.c
    ...

    Linus Torvalds
     
  • Add code to detect UE in case of Lancer.

    Signed-off-by: Padmanabh Ratnakar
    Signed-off-by: David S. Miller

    Padmanabh Ratnakar
     
  • Indicate to HW that the CQ is cleaned up before posting new RX buffers.
    This prevents the HW to go into CQ full error condition.

    Signed-off-by: Padmanabh Ratnakar
    Signed-off-by: David S. Miller

    Padmanabh Ratnakar
     
  • If user tries to disable multicast promiscous mode, the adapter remains
    in this mode as resetting the multicast promiscous mode was missing
    in RX filter command. Fixed this.

    Signed-off-by: Padmanabh Ratnakar
    Signed-off-by: David S. Miller

    Padmanabh Ratnakar
     
  • Use cpu_to_le32() for mcast_num field in RX filter command as this
    field is of type u32.

    Signed-off-by: Padmanabh Ratnakar
    Signed-off-by: David S. Miller

    Padmanabh Ratnakar
     
  • David S. Miller
     
  • This popped some compiler errors due to mismatched prototypes. Just
    remove most manual inlines, the compiler should be able to figure out
    what makes sense to inline and not.

    net/packet/af_packet.c:252: warning: 'prb_curr_blk_in_use' declared inline after being called
    net/packet/af_packet.c:252: warning: previous declaration of 'prb_curr_blk_in_use' was here
    net/packet/af_packet.c:258: warning: 'prb_queue_frozen' declared inline after being called
    net/packet/af_packet.c:258: warning: previous declaration of 'prb_queue_frozen' was here
    net/packet/af_packet.c:248: warning: 'packet_previous_frame' declared inline after being called
    net/packet/af_packet.c:248: warning: previous declaration of 'packet_previous_frame' was here
    net/packet/af_packet.c:251: warning: 'packet_increment_head' declared inline after being called
    net/packet/af_packet.c:251: warning: previous declaration of 'packet_increment_head' was here

    Signed-off-by: Olof Johansson
    Cc: Chetan Loke
    Signed-off-by: David S. Miller

    Olof Johansson
     
  • Commit c1aabdf379bc2feeb0df7057ed5bad96f492133e (can-gw: add netlink based
    CAN routing) added a new include file that's neither referenced by any of
    the CAN maintainers.

    Signed-off-by: Oliver Hartkopp
    Signed-off-by: David S. Miller

    Oliver Hartkopp
     
  • Commit 87fb4b7b533073eeeaed0b6bf7c2328995f6c075 (net: more
    accurate skb truesize) changed the alignment of size. This
    can cause problems at least on some machines with NFS root:

    Unhandled fault: alignment exception (0x801) at 0xc183a43a
    Internal error: : 801 [#1] PREEMPT
    Modules linked in:
    CPU: 0 Not tainted (3.1.0-08784-g5eeee4a #733)
    pc : [] lr : [] psr: 60000013
    sp : c180fef8 ip : 00000000 fp : c181f580
    r10: 00000000 r9 : c044b28c r8 : 00000001
    r7 : c183a3a0 r6 : c1835be0 r5 : c183a412 r4 : 000001f2
    r3 : 00000000 r2 : 00000000 r1 : ffffffe6 r0 : c183a43a
    Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
    Control: 0005317f Table: 10004000 DAC: 00000017
    Process swapper (pid: 1, stack limit = 0xc180e270)
    Stack: (0xc180fef8 to 0xc1810000)
    fee0: 00000024 00000000
    ff00: 00000000 c183b9c0 c183b8e0 c044b28c c0507ccc c019dfc4 c180ff2c c0503cf8
    ff20: c180ff4c c180ff4c 00000000 c1835420 c182c740 c18349c0 c05233c0 00000000
    ff40: 00000000 c00e6bb8 c180e000 00000000 c04dd82c c0507e7c c050cc18 c183b9c0
    ff60: c05233c0 00000000 00000000 c01f34f4 c0430d70 c019d364 c04dd898 c04dd898
    ff80: c04dd82c c0507e7c c180e000 00000000 c04c584c c01f4918 c04dd898 c04dd82c
    ffa0: c04ddd28 c180e000 00000000 c0008758 c181fa60 3231d82c 00000037 00000000
    ffc0: 00000000 c04dd898 c04dd82c c04ddd28 00000013 00000000 00000000 00000000
    ffe0: 00000000 c04b2224 00000000 c04b21a0 c001056c c001056c 00000000 00000000
    Function entered at [] from []
    Function entered at [] from []
    Function entered at [] from []
    Function entered at [] from []
    Function entered at [] from []
    Function entered at [] from []
    Code: e1a00005 e3a01028 ebfa7cb0 e35a0000 (e5858028)

    Here PC is at __alloc_skb and &shinfo->dataref is unaligned because
    skb->end can be unaligned without this patch.

    As explained by Eric Dumazet , this happens
    only with SLOB, and not with SLAB or SLUB:

    * Eric Dumazet [111102 15:56]:
    >
    > Your patch is absolutely needed, I completely forgot about SLOB :(
    >
    > since, kmalloc(386) on SLOB gives exactly ksize=386 bytes, not nearest
    > power of two.
    >
    > [ 60.305763] malloc(size=385)->ffff880112c11e38 ksize=386 -> nsize=2
    > [ 60.305921] malloc(size=385)->ffff88007c92ce28 ksize=386 -> nsize=2
    > [ 60.306898] malloc(size=656)->ffff88007c44ad28 ksize=656 -> nsize=272
    > [ 60.325385] malloc(size=656)->ffff88007c575868 ksize=656 -> nsize=272
    > [ 60.325531] malloc(size=656)->ffff88011c777230 ksize=656 -> nsize=272
    > [ 60.325701] malloc(size=656)->ffff880114011008 ksize=656 -> nsize=272
    > [ 60.346716] malloc(size=385)->ffff880114142008 ksize=386 -> nsize=2
    > [ 60.346900] malloc(size=385)->ffff88011c777690 ksize=386 -> nsize=2

    Signed-off-by: Tony Lindgren
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Tony Lindgren
     
  • Simon Kirby reported lockdep warnings and following messages :

    [104661.897577] huh, entered softirq 3 NET_RX ffffffff81613740
    preempt_count 00000101, exited with 00000102?

    [104661.923653] huh, entered softirq 3 NET_RX ffffffff81613740
    preempt_count 00000101, exited with 00000102?

    Problem comes from commit 0e734419
    (ipv4: Use inet_csk_route_child_sock() in DCCP and TCP.)

    If inet_csk_route_child_sock() returns NULL, we should release socket
    lock before freeing it.

    Another lock imbalance exists if __inet_inherit_port() returns an error
    since commit 093d282321da ( tproxy: fix hash locking issue when using
    port redirection in __inet_inherit_port()) a backport is also needed for
    >= 2.6.37 kernels.

    Reported-by: Simon Kirby
    Signed-off-by: Eric Dumazet
    Tested-by: Eric Dumazet
    CC: Balazs Scheidler
    CC: KOVACS Krisztian
    Reviewed-by: Thomas Gleixner
    Tested-by: Simon Kirby
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Misha Labjuk reported panics occurring in l2tp_recv_dequeue()

    If we release reorder_q.lock, we must not keep a dangling pointer (tmp),
    since another thread could manipulate reorder_q.

    Instead we must restart the scan at beginning of list.

    Reported-by: Misha Labjuk
    Tested-by: Misha Labjuk
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (37 commits)
    MIPS: O32: Provide definition of registers ta0 .. ta3.
    MIPS: perf: Add Octeon support for hardware perf.
    MIPS: perf: Add support for 64-bit perf counters.
    MIPS: perf: Reorganize contents of perf support files.
    MIPS: perf: Cleanup formatting in arch/mips/kernel/perf_event.c
    MIPS: Add accessor macros for 64-bit performance counter registers.
    MIPS: Add probes for more Octeon II CPUs.
    MIPS: Add more CPU identifiers for Octeon II CPUs.
    MIPS: XLR, XLS: Add comment for smp setup
    MIPS: JZ4740: GPIO: Check correct IRQ in demux handler
    MIPS: JZ4740: GPIO: Simplify IRQ demuxer
    MIPS: JZ4740: Use generic irq chip
    MIPS: Alchemy: remove all CONFIG_SOC_AU1??? defines
    MIPS: Alchemy: kill au1xxx.h header
    MIPS: Alchemy: clean DMA code of CONFIG_SOC_AU1??? defines
    MIPS, IDE: Alchem, au1xxx-ide: Remove pb1200/db1200 header dep
    MIPS: Alchemy: Redo PCI as platform driver
    MIPS: Alchemy: more base address cleanup
    MIPS: Alchemy: rewrite USB platform setup.
    MIPS: Alchemy: abstract USB block control register access
    ...

    Fix up trivial conflicts in:
    arch/mips/alchemy/devboards/db1x00/platform.c
    drivers/ide/Kconfig
    drivers/mmc/host/au1xmmc.c
    drivers/video/Kconfig
    sound/mips/Kconfig

    Linus Torvalds
     
  • The sb_edac driver is marginally useful on a 32-bit kernel, and
    currently has 64-bit divide compile errors when building that config.
    For now, make this build on only for 64-bit kernels.

    Signed-off-by: Josh Boyer
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Linus Torvalds

    Josh Boyer
     
  • * 'next' of git://github.com/kernelslacker/cpufreq:
    [CPUFREQ] db8500: support all frequencies
    [CPUFREQ] db8500: remove unneeded for loop iteration over freq_table
    [CPUFREQ] ARM Exynos4210 PM/Suspend compatibility with different bootloaders
    [CPUFREQ] ARM: ux500: send cpufreq notification for all cpus
    [CPUFREQ] e_powersaver: Allow user to lower maximum voltage
    [CPUFREQ] e_powersaver: Check BIOS limit for CPU frequency
    [CPUFREQ] e_powersaver: Additional checks
    [CPUFREQ] exynos4210: Show list of available frequencies

    Linus Torvalds
     
  • * 'for-next' of git://git.infradead.org/users/sameo/mfd-2.6: (80 commits)
    mfd: Fix missing abx500 header file updates
    mfd: Add missing include to intel_msic
    x86, mrst: add platform support for MSIC MFD driver
    mfd: Expose TurnOnStatus in ab8500 sysfs
    mfd: Remove support for early drop ab8500 chip
    mfd: Add support for ab8500 v3.3
    mfd: Add ab8500 interrupt disable hook
    mfd: Convert db8500-prcmu panic() into pr_crit()
    mfd: Refactor db8500-prcmu request_clock() function
    mfd: Rename db8500-prcmu init function
    mfd: Fix db5500-prcmu defines
    mfd: db8500-prcmu voltage domain consumers additions
    mfd: db8500-prcmu reset code retrieval
    mfd: db8500-prcmu tweak for modem wakeup
    mfd: Add db8500-pcmu watchdog accessor functions for watchdog
    mfd: hwacc power state db8500-prcmu accessor
    mfd: Add db8500-prcmu accessors for PLL and SGA clock
    mfd: Move to the new db500 PRCMU API
    mfd: Create a common interface for dbx500 PRCMU drivers
    mfd: Initialize DB8500 PRCMU regs
    ...

    Fix up trivial conflicts in
    arch/arm/mach-imx/mach-mx31moboard.c
    arch/arm/mach-omap2/board-omap3beagle.c
    arch/arm/mach-u300/include/mach/irqs.h
    drivers/mfd/wm831x-spi.c

    Linus Torvalds
     

03 Nov, 2011

15 commits

  • * 'sh-latest' of git://github.com/pmundt/linux-sh:
    sh: Add default uImage rule for sh7757lcr
    sh: modify the asm/sh_eth.h to linux/sh_eth.h in sh7757lcr
    sh: userimask.c needs linux/stat.h
    sh: pfc: Add GPIO IRQ support
    sh: modify the asm/sh_eth.h to linux/sh_eth.h in some boards
    sh: pfc: Remove unused gpio_in_use member
    sh: add parameters for EHCI and RIIC in clock-sh7757.c
    sh: kexec: Add PHYSICAL_START
    SH: irq: Remove IRQF_DISABLED
    sh: pfc: get_config_reg() shift clean up
    sh: intc: Add IRQ trigger bit field check
    sh: drop unused Kconfig symbol
    sh: Fix implicit declaration of function numa_node_id
    sh: kexec: Register crashk_res
    sh: ecovec: add renesas_usbhs DMAEngine support

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock:
    hwspinlock: add MAINTAINERS entries
    hwspinlock/omap: omap_hwspinlock_remove should be __devexit
    hwspinlock/u8500: add hwspinlock driver
    hwspinlock/core: register a bank of hwspinlocks in a single API call
    hwspinlock/core: remove stubs for register/unregister
    hwspinlock/core: use a mutex to protect the radix tree
    hwspinlock/core/omap: fix id issues on multiple hwspinlock devices
    hwspinlock/omap: simplify allocation scheme
    hwspinlock/core: simplify 'owner' handling
    hwspinlock/core: simplify Kconfig

    Fix up trivial conflicts (addition of omap_hwspinlock_pdata, removal of
    omap_spinlock_latency) in arch/arm/mach-omap2/hwspinlock.c

    Also, do an "evil merge" to fix a compile error in omap_hsmmc.c which
    for some reason was reported in the same email thread as the "please
    pull hwspinlock changes".

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
    Revert "HID: multitouch: decide if hid-multitouch needs to handle mt devices"
    HID: drivers/hid/hid-roccat.c: eliminate a null pointer dereference
    HID: hid-apple: add device ID of another wireless aluminium
    HID: Add device IDs for Macbook Pro 8 keyboards

    Linus Torvalds
     
  • This reverts commit 144060fee07e9c22e179d00819c83c86fbcbf82c.

    It causes a resume regression for Andi on his Acer Aspire 1830T post
    3.1. The screen just stays black after wakeup.

    Also, it really looks like the wrong way to suspend and resume perf
    events: I think they should be done as part of the CPU suspend and
    resume, rather than as a notifier that does smp_call_function().

    Reported-by: Andi Kleen
    Acked-by: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Rafael J. Wysocki
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/steve/linux-dm:
    dm: raid fix device status indicator when array initializing
    dm log userspace: add log device dependency
    dm log userspace: fix comment hyphens
    dm: add thin provisioning target
    dm: add persistent data library
    dm: add bufio
    dm: export dm get md
    dm table: add immutable feature
    dm table: add always writeable feature
    dm table: add singleton feature
    dm kcopyd: add dm_kcopyd_zero to zero an area
    dm: remove superfluous smp_mb
    dm: use local printk ratelimit
    dm table: propagate non rotational flag

    Linus Torvalds
     
  • * 'for-linus' of git://git.selinuxproject.org/~jmorris/linux-security:
    TOMOYO: Fix interactive judgment functionality.

    Linus Torvalds
     
  • Signed-off-by: Greg Rose
    Tested-by: Sibai Li
    Signed-off-by: Jeff Kirsher

    Greg Rose
     
  • Returning the max traffic classes on get requests simplifies
    user space configurations because applications will know
    explicitly how many traffic classes can be used.

    Typical switch implementations use 2 or 3 traffic classes
    so this not seen often today. And user space can learn
    the number of traffic classes by return codes but this
    allows user space to configure ixgbe correctly at the
    start.

    Signed-off-by: John Fastabend
    Tested-by: Ross Brattain
    Signed-off-by: Jeff Kirsher

    John Fastabend
     
  • This patch fixes some issues found in the buffer read portion of
    ixgbe_host_interface_command()

    - use `bi` as the buffer index counter instead of `i`
    - add conversion to native cpu byte ordering on register read
    - fix conversion from bytes to dword
    - use dword_len instead of buf_len when reading the register

    Signed-off-by: Emil Tantilov
    Tested-by: Phil Schmitt
    Signed-off-by: Jeff Kirsher

    Emil Tantilov
     
  • Wrap SR-IOV specific functions in CONFIG_PCI_IOV to avoid compiler
    warnings.

    Signed-off-by: Greg Rose
    Tested-by: Sibai Li
    Signed-off-by: Jeff Kirsher

    Greg Rose
     
  • ixgbe_ieee_ets and ixgbe_ieee_pfc are intialized at
    the same time. Do a check for both before configuring
    IEEE802.1Qaz. Also max_frame was causing a sparse
    warning resolved here as well.

    Reported-by: Dan Carpenter
    Signed-off-by: John Fastabend
    Tested-by: Ross Brattain
    Signed-off-by: Jeff Kirsher

    John Fastabend
     
  • register_netdev() calls ndo_set_features() which may result in HW reset
    which in turn will bring the laser back up.

    This patch moves ixgbe_laser_tx_disable() below register_netdev()
    in ixgbe_probe() to make sure laser is shut off on load.

    Signed-off-by: Emil Tantilov
    Tested-by: Phil Schmitt
    Signed-off-by: Jeff Kirsher

    Emil Tantilov
     
  • * 'linux_next' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac: (21 commits)
    MAINTAINERS: add an entry for Edac Sandy Bridge driver
    edac: tag sb_edac as EXPERIMENTAL, as it requires more testing
    EDAC: Fix incorrect edac mode reporting in sb_edac
    edac: sb_edac: Add it to the building system
    edac: Add an experimental new driver to support Sandy Bridge CPU's
    i7300_edac: Fix error cleanup logic
    i7core_edac: Initialize memory name with cpu, channel, bank
    i7core_edac: Fix compilation on 32 bits arch
    i7core_edac: scrubbing fixups
    EDAC: Correct Kconfig dependencies
    i7core_edac: return -ENODEV if no MC is found
    i7core_edac: use edac's own way to print errors
    MAINTAINERS: remove dropped edac_mce.* from the file
    i7core_edac: Drop the edac_mce facility
    x86, MCE: Use notifier chain only for MCE decoding
    EDAC i7core: Use mce socketid for better compatibility
    i7core_edac: Don't enable memory scrubbing for Xeon 35xx
    i7core_edac: Add scrubbing support
    edac: Move edac main structs to include/linux/edac.h
    i7core_edac: Fix oops when trying to inject errors
    ...

    Linus Torvalds
     
  • Interface fails to obtain link on 82599 SFP in the following scenario:

    1. Set advertised speed to GB:
    ethtool -s eth0 advertise 0x20

    2. Bring interface down
    ip link set eth0 down

    3. Issue any command that leads to a reset:
    ethtool -t eth0

    4. Bring link back up:
    ip link set eth0 up

    Following patch makes sure that the driver flaps the Tx laser every time
    ixgbe_start_hw() is called, and not only when the speed is set.

    Signed-off-by: Emil Tantilov
    Tested-by: Phil Schmitt
    Signed-off-by: Jeff Kirsher

    Emil Tantilov
     
  • The PHY cable length unit detection was not using the correct
    the correct PHY data variable for I347AT4.

    Signed-off-by: Tomasz Kantecki
    Signed-off-by: Jeff Kirsher

    Kantecki, Tomasz