1. 05 Feb, 2010 2 commits
    • Jean Delvare's avatar
      hwmon: (lm78) Request I/O ports individually for probing · 197027e6
      Jean Delvare authored
      
      
      Different motherboards have different PNP declarations for LM78/LM79
      chips. Some declare the whole range of I/O ports (8 ports), some
      declare only the useful ports (2 ports at offset 5) and some declare
      fancy ranges, for example 4 ports at offset 4. To properly handle all
      cases, request all ports individually for probing. After we have
      determined that we really have an LM78 or LM79 chip, the useful port
      range will be requested again, as a single block.
      
      This fixes the driver on the Olivetti M3000 DT 540, at least.
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Cc: stable@kernel.org
      197027e6
    • Ray Copeland's avatar
      hwmon: (adt7462) Wrong ADT7462_VOLT_COUNT · 85f8d3e5
      Ray Copeland authored
      
      
      The #define ADT7462_VOLT_COUNT is wrong, it should be 13 not 12. All the 
      for loops that use this as a limit count are of the typical form, "for 
      (n = 0; n < ADT7462_VOLT_COUNT; n++)", so to loop through all voltages 
      w/o missing the last one it is necessary for the count to be one greater 
      than it is.  (Specifically, you will miss the +1.5V 3GPIO input with count 
      = 12 vs. 13.)
      Signed-off-by: default avatarRay Copeland <ray.copeland@aprius.com>
      Acked-by: default avatar"Darrick J. Wong" <djwong@us.ibm.com>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Cc: stable@kernel.org
      85f8d3e5
  2. 04 Feb, 2010 6 commits
  3. 03 Feb, 2010 22 commits
  4. 02 Feb, 2010 10 commits
    • Linus Torvalds's avatar
      c80d292f
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 2a2a5660
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (23 commits)
        connector: Delete buggy notification code.
        be2net: use eq-id to calculate cev-isr reg offset
        Bluetooth: Use the control channel for raw HID reports
        Bluetooth: Add DFU driver for Atheros Bluetooth chipset AR3011
        Bluetooth: Redo checks in IRQ handler for shared IRQ support
        Bluetooth: Fix memory leak in L2CAP
        Bluetooth: Remove double free of SKB pointer in L2CAP
        cdc_ether: Partially revert "usbnet: Set link down initially ..."
        be2net: Fix memset() arg ordering.
        bonding: bond_open error return value
        ixgbe: if ixgbe_copy_dcb_cfg is going to fail learn about it early
        ixgbe: set the correct DCB bit for pg tx settings
        igbvf: fix issue w/ mapped_as_page being left set after unmap
        drivers/net: ks8851_mll ethernet network driver
        be2net: Bug fix to support newer generation of BE ASIC
        starfire: clean up properly if firmware loading fails
        mac80211: fix NULL pointer dereference when ftrace is enabled
        netfilter: ctnetlink: fix expectation mask dump
        ipv6: conntrack: Add member of user to nf_ct_frag6_queue structure
        ath9k: fix eeprom INI values override for 2GHz-only cards
        ...
      2a2a5660
    • Thadeu Lima de Souza Cascardo's avatar
      pktcdvd: removing device does not remove its sysfs dir · ca0bf64d
      Thadeu Lima de Souza Cascardo authored
      This is the counterpart to cba76717
      
      
      ("pktcdvd: remove broken dev_t export of class devices").  Device is not
      registered using dev_t, so it should not be destroyed using device_destroy
      which looks up the device by dev_t.  This will fail and adding the device
      again will fail with the "duplicate name" error.  This is fixed using
      device_unregister instead of device_destroy.
      Signed-off-by: default avatarThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Cc: Peter Osterlund <petero2@telia.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ca0bf64d
    • Shaohui Zheng's avatar
      memory hotplug: fix a bug on /dev/mem for 64-bit kernels · ea085417
      Shaohui Zheng authored
      
      
      Newly added memory can not be accessed via /dev/mem, because we do not
      update the variables high_memory, max_pfn and max_low_pfn.
      
      Add a function update_end_of_memory_vars() to update these variables for
      64-bit kernels.
      
      [akpm@linux-foundation.org: simplify comment]
      Signed-off-by: default avatarShaohui Zheng <shaohui.zheng@intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Li Haicheng <haicheng.li@intel.com>
      Reviewed-by: default avatarWu Fengguang <fengguang.wu@intel.com>
      Reviewed-by: default avatarKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ea085417
    • Anton Blanchard's avatar
      fault injection: correct function names in documentation · a225a5cc
      Anton Blanchard authored
      
      
      init_fault_attr_entries() should be init_fault_attr_dentries().
      
      cleanup_fault_attr_entries() should be cleanup_fault_attr_dentries().
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Acked-by: default avatarAkinobu Mita <akinobu.mita@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a225a5cc
    • Jeff Mahoney's avatar
      hugetlb: fix section mismatches · 094e9539
      Jeff Mahoney authored
      
      
      hugetlb_sysfs_add_hstate is called by hugetlb_register_node directly
      during init and also indirectly via sysfs after init.
      
      This patch removes the __init tag from hugetlb_sysfs_add_hstate.
      Signed-off-by: default avatarJeff Mahoney <jeffm@suse.com>
      Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      094e9539
    • Richard Röjfors's avatar
      uartlite: fix crash when using as console · 03eac7bb
      Richard Röjfors authored
      
      
      Move the ulite_console_setup to the .devinit section since it might be
      called on probe, which is in devinit.  Fixes the crash below where the
      uartlite hw is probed after the .init section is freed from the kernel.
      
      uartlite: ttyUL0 at MMIO 0xc8000100 (irq = 30) is a uartlite
      BUG: unable to handle kernel NULL pointer dereference at (null)
      IP: [<c176720e>] ulite_console_setup+0x6f/0xa8
      *pdpt = 0000000036fb0001 *pde = 0000000000000000
      Oops: 0000 [#1] PREEMPT SMP
      last sysfs file: /sys/devices/pci0000:00/0000:00:1f.1/host0/uevent
      Modules linked in: puffin(+) serio_raw
      
      Pid: 151, comm: modprobe Not tainted (2.6.31.5-1.0.b1-b1 #1) POULSBO
      EIP: 0060:[<c176720e>] EFLAGS: 00010246 CPU: 0
      EIP is at ulite_console_setup+0x6f/0xa8
      EAX: c16ec824 EBX: c16ec824 ECX: c176719f EDX: 00000000
      ESI: 00000000 EDI: c17b42c4 EBP: f6fd1cf0 ESP: f6fd1cd8
       DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
      Process modprobe (pid: 151, ti=f6fd0000 task=f6fa1020 task.ti=f6fd0000)
      Stack:
       c1031f51 00000000 00000000 00000246 c182237c f7742000 f6fd1d5c c11fd316
      <0> c16ec85c f77420d4 0000001e 00000000 00000000 c1633e78 4f494d4d 63783020
      <0> 30303038 00303031 f6fd1d3c c10e0786 f6fd1d48 00000000 f6fd1d48 00000000
      Call Trace:
       [<c1031f51>] ? register_console+0xf6/0x1fc
       [<c11fd316>] ? uart_add_one_port+0x237/0x2bb
       [<c10e0786>] ? sysfs_add_one+0x13/0xd3
       [<c10e142f>] ? sysfs_do_create_link+0xba/0xfc
       [<c146f200>] ? ulite_probe+0x198/0x1eb
       [<c12064ee>] ? platform_drv_probe+0xc/0xe
       [<c120597b>] ? driver_probe_device+0x79/0x105
       [<c1205a8e>] ? __device_attach+0x28/0x30
       [<c120511f>] ? bus_for_each_drv+0x3d/0x67
       [<c1205af9>] ? device_attach+0x44/0x58
       [<c1205a66>] ? __device_attach+0x0/0x30
       [<c1204fb8>] ? bus_probe_device+0x1f/0x34
       [<c1203e68>] ? device_add+0x385/0x4c0
       [<c148491f>] ? _write_unlock+0x8/0x1f
       [<c1206aac>] ? platform_device_add+0xd9/0x11c
       [<c120c685>] ? mfd_add_devices+0x165/0x1bc
       [<f831b378>] ? puffin_probe+0x2d0/0x390 [puffin]
       [<c11a08ef>] ? pci_match_device+0xa0/0xa7
       [<c11a07bc>] ? local_pci_probe+0xe/0x10
       [<c11a11db>] ? pci_device_probe+0x43/0x66
       [<c120597b>] ? driver_probe_device+0x79/0x105
       [<c1205a4a>] ? __driver_attach+0x43/0x5f
       [<c120535d>] ? bus_for_each_dev+0x3d/0x67
       [<c1205852>] ? driver_attach+0x14/0x16
       [<c1205a07>] ? __driver_attach+0x0/0x5f
       [<c1204dea>] ? bus_add_driver+0xf9/0x220
       [<c1205c8f>] ? driver_register+0x8b/0xeb
       [<c11a1518>] ? __pci_register_driver+0x43/0x9f
       [<c10477ef>] ? __blocking_notifier_call_chain+0x40/0x4c
       [<f831f000>] ? puffin_init+0x0/0x48 [puffin]
       [<f831f017>] ? puffin_init+0x17/0x48 [puffin]
       [<c1001139>] ? do_one_initcall+0x4c/0x131
       [<c105607b>] ? sys_init_module+0xa7/0x1b7
       [<c1002a61>] ? syscall_call+0x7/0xb
       Code: 6e 74 00 00 00 92 33 00 00 18 00 0e 01 73 79 6e 63 65 2d 72 65 67 69 73 74 72 79 0c 00 49 32
      00 00 14 00 09 01 61 6c 73 61 2d 69 <6e> 66 6f 00 00 00 42 37 00 00 10 00 07 01 6b 69 6c 6c 61 6c 6c
      EIP: [<c176720e>] ulite_console_setup+0x6f/0xa8 SS:ESP 0068:f6fd1cd8
      CR2: 0000000000000000
      Signed-off-by: default avatarRichard Röjfors <richard.rojfors@pelagicore.com>
      Acked-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      03eac7bb
    • Uwe Kleine-König's avatar
      imxfb: correct location of callbacks in suspend and resume · 1ec56203
      Uwe Kleine-König authored
      
      
      The probe function passes a pointer to a struct fb_info to
      platform_set_drvdata(), so don't interpret the return value of
      platform_get_drvdata() as a pointer to struct imxfb_info.
      
      The original imxfb_info *fbi backlight_power was NULL but in imxfb_suspend
      it was 4 resulting in an oops as imxfb_suspend calls
      imxfb_disable_controller(fbi) which in turn has
      
      	if (fbi->backlight_power)
      			fbi->backlight_power(0);
      Signed-off-by: default avatarUwe Kleine-König  <u.kleine-koenig@pengutronix.de>
      Acked-by: default avatarSascha Hauer <kernel@pengutronix.de>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1ec56203
    • Li Zefan's avatar
      cgroups: fix to return errno in a failure path · 4528fd05
      Li Zefan authored
      
      
      In cgroup_create(), if alloc_css_id() returns failure, the errno is not
      propagated to userspace, so mkdir will fail silently.
      
      To trigger this bug, we mount blkio (or memory subsystem), and create more
      then 65534 cgroups.  (The number of cgroups is limited to 65535 if a
      subsystem has use_id == 1)
      
       # mount -t cgroup -o blkio xxx /mnt
       # for ((i = 0; i < 65534; i++)); do mkdir /mnt/$i; done
       # mkdir /mnt/65534
       (should return ENOSPC)
       #
      Signed-off-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
      Acked-by: default avatarSerge Hallyn <serue@us.ibm.com>
      Acked-by: default avatarPaul Menage <menage@google.com>
      Acked-by: default avatarKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4528fd05
    • Hui Zhu's avatar
      markup_oops.pl: fix $func_offset error with x86_64 · ef2b9b05
      Hui Zhu authored
      
      
      When I use markup_oops.pl parse a x8664 oops, I got:
      
      objdump: --start-address: bad number: NaN
      No matching code found
      This is because:
      main::(./m.pl:228):	open(FILE, "objdump -dS --adjust-vma=$vmaoffset --start-address=$decodestart --stop-address=$decodestop $filename |") || die "Cannot start objdump";
        DB<3> p $decodestart
      NaN
      
      This NaN is from:
      main::(./m.pl:176):	my $decodestart = Math::BigInt->from_hex("0x$target") - Math::BigInt->from_hex("0x$func_offset");
        DB<2> p $func_offset
      0x175
      
      There is already a "0x" in $func_offset, another 0x makes it a NaN.
      
      The $func_offset is from line:
      
      	if ($line =~ /RIP: 0010:\[\<[0-9a-f]+\>\]  \[\<[0-9a-f]+\>\] ([a-zA-Z0-9\_]+)\+(0x[0-9a-f]+)\/0x[a-f0-9]/) {
      		$function = $1;
      		$func_offset = $2;
      	}
      
      I make a patch to change "(0x[0-9a-f]+)\/0x[a-f0-9]/)" to "0x([0-9a-f]+)\/0x[a-f0-9]/)".
      Signed-off-by: default avatarHui Zhu <teawater@gmail.com>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: Michal Marek <mmarek@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ef2b9b05