1. 12 5月, 2011 1 次提交
  2. 07 5月, 2011 11 次提交
    • U
      rtc: mc13xxx: Don't call rtc_device_register while holding lock · 156229b3
      Uwe Kleine-König 提交于
      Since commit f44f7f96 (RTC: Initialize kernel state from RTC)
      rtc_device_register reads the programmed alarm. As reading the alarm
      needs to take the mc13xxx lock, release it before calling
      rtc_device_register.
      
      This fixes a deadlock during boot:
      
      	INFO: task swapper:1 blocked for more than 120 seconds.
      	"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
      	swapper         D c02b175c     0     1      0 0x00000000
      	[<c02b175c>] (schedule+0x304/0x4f4) from [<c02b25a8>] (__mutex_lock_slowpath+0x7c/0x110)
      	[<c02b25a8>] (__mutex_lock_slowpath+0x7c/0x110) from [<c020b4cc>] (mc13xxx_rtc_read_time+0x1c/0x118)
      	[<c020b4cc>] (mc13xxx_rtc_read_time+0x1c/0x118) from [<c0208f04>] (__rtc_read_time+0x58/0x5c)
      	[<c0208f04>] (__rtc_read_time+0x58/0x5c) from [<c0209508>] (rtc_read_time+0x30/0x48)
      	[<c0209508>] (rtc_read_time+0x30/0x48) from [<c0209dd4>] (__rtc_read_alarm+0x1c/0x290)
      	[<c0209dd4>] (__rtc_read_alarm+0x1c/0x290) from [<c0208d58>] (rtc_device_register+0x150/0x27c)
      	[<c0208d58>] (rtc_device_register+0x150/0x27c) from [<c02b0b74>] (mc13xxx_rtc_probe+0x128/0x17c)
      	[<c02b0b74>] (mc13xxx_rtc_probe+0x128/0x17c) from [<c01d5280>] (platform_drv_probe+0x1c/0x24)
      	[<c01d5280>] (platform_drv_probe+0x1c/0x24) from [<c01d3e58>] (driver_probe_device+0x80/0x1a8)
      	[<c01d3e58>] (driver_probe_device+0x80/0x1a8) from [<c01d400c>] (__driver_attach+0x8c/0x90)
      	[<c01d400c>] (__driver_attach+0x8c/0x90) from [<c01d3654>] (bus_for_each_dev+0x60/0x8c)
      	[<c01d3654>] (bus_for_each_dev+0x60/0x8c) from [<c01d2f6c>] (bus_add_driver+0x180/0x248)
      	[<c01d2f6c>] (bus_add_driver+0x180/0x248) from [<c01d4664>] (driver_register+0x70/0x15c)
      	[<c01d4664>] (driver_register+0x70/0x15c) from [<c01d5700>] (platform_driver_probe+0x18/0x98)
      	[<c01d5700>] (platform_driver_probe+0x18/0x98) from [<c00273a8>] (do_one_initcall+0x2c/0x168)
      	[<c00273a8>] (do_one_initcall+0x2c/0x168) from [<c00083ac>] (kernel_init+0xa0/0x150)
      	[<c00083ac>] (kernel_init+0xa0/0x150) from [<c0033ff8>] (kernel_thread_exit+0x0/0x8)
      Reported-by: NVagrant Cascadian <vagrant@debian.org>
      Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Closes: http://bugs.debian.org/625804
      [Tweaked commit log -jstultz]
      Signed-off-by: NJohn Stultz <john.stultz@linaro.org>
      156229b3
    • J
      rtc: rp5c01: Initialize drvdata before registering device · 130107b2
      John Stultz 提交于
      Commit f44f7f96 ("RTC: Initialize kernel state from RTC") uncovered
      an issue in a number of RTC drivers, where the drivers call
      rtc_device_register before initializing the device or platform drvdata.
      
      This frequently results in null pointer dereferences when the
      rtc_device_register immediately makes use of the rtc device, calling
      rtc_read_alarm.
      
      The solution is to ensure the drvdata is initialized prior to registering
      the rtc device.
      
      CC: Wolfram Sang <w.sang@pengutronix.de>
      CC: Alessandro Zummo <a.zummo@towertech.it>
      CC: Thomas Gleixner <tglx@linutronix.de>
      CC: rtc-linux@googlegroups.com
      Signed-off-by: NJohn Stultz <john.stultz@linaro.org>
      130107b2
    • J
      rtc: pcap: Initialize drvdata before registering device · 4b3687f9
      John Stultz 提交于
      Commit f44f7f96 ("RTC: Initialize kernel state from RTC") uncovered
      an issue in a number of RTC drivers, where the drivers call
      rtc_device_register before initializing the device or platform drvdata.
      
      This frequently results in null pointer dereferences when the
      rtc_device_register immediately makes use of the rtc device, calling
      rtc_read_alarm.
      
      The solution is to ensure the drvdata is initialized prior to registering
      the rtc device.
      
      CC: Wolfram Sang <w.sang@pengutronix.de>
      CC: Alessandro Zummo <a.zummo@towertech.it>
      CC: Thomas Gleixner <tglx@linutronix.de>
      CC: rtc-linux@googlegroups.com
      Signed-off-by: NJohn Stultz <john.stultz@linaro.org>
      4b3687f9
    • J
      rtc: msm6242: Initialize drvdata before registering device · 93015236
      John Stultz 提交于
      Commit f44f7f96 ("RTC: Initialize kernel state from RTC") uncovered
      an issue in a number of RTC drivers, where the drivers call
      rtc_device_register before initializing the device or platform drvdata.
      
      This frequently results in null pointer dereferences when the
      rtc_device_register immediately makes use of the rtc device, calling
      rtc_read_alarm.
      
      The solution is to ensure the drvdata is initialized prior to registering
      the rtc device.
      
      CC: Wolfram Sang <w.sang@pengutronix.de>
      CC: Alessandro Zummo <a.zummo@towertech.it>
      CC: Thomas Gleixner <tglx@linutronix.de>
      CC: rtc-linux@googlegroups.com
      Signed-off-by: NJohn Stultz <john.stultz@linaro.org>
      93015236
    • J
      rtc: max8998: Initialize drvdata before registering device · 03cf7c47
      John Stultz 提交于
      Commit f44f7f96 ("RTC: Initialize kernel state from RTC") uncovered
      an issue in a number of RTC drivers, where the drivers call
      rtc_device_register before initializing the device or platform drvdata.
      
      This frequently results in null pointer dereferences when the
      rtc_device_register immediately makes use of the rtc device, calling
      rtc_read_alarm.
      
      The solution is to ensure the drvdata is initialized prior to registering
      the rtc device.
      
      CC: Wolfram Sang <w.sang@pengutronix.de>
      CC: Alessandro Zummo <a.zummo@towertech.it>
      CC: Thomas Gleixner <tglx@linutronix.de>
      CC: rtc-linux@googlegroups.com
      Signed-off-by: NJohn Stultz <john.stultz@linaro.org>
      03cf7c47
    • J
      rtc: max8925: Initialize drvdata before registering device · 2f5c4fe8
      John Stultz 提交于
      Commit f44f7f96 ("RTC: Initialize kernel state from RTC") uncovered
      an issue in a number of RTC drivers, where the drivers call
      rtc_device_register before initializing the device or platform drvdata.
      
      This frequently results in null pointer dereferences when the
      rtc_device_register immediately makes use of the rtc device, calling
      rtc_read_alarm.
      
      The solution is to ensure the drvdata is initialized prior to registering
      the rtc device.
      
      CC: Wolfram Sang <w.sang@pengutronix.de>
      CC: Alessandro Zummo <a.zummo@towertech.it>
      CC: Thomas Gleixner <tglx@linutronix.de>
      CC: rtc-linux@googlegroups.com
      Signed-off-by: NJohn Stultz <john.stultz@linaro.org>
      2f5c4fe8
    • J
      rtc: m41t80: Initialize clientdata before registering device · a015dbc1
      John Stultz 提交于
      Commit f44f7f96 ("RTC: Initialize kernel state from RTC") uncovered
      an issue in a number of RTC drivers, where the drivers call
      rtc_device_register before initializing the clientdata.
      
      This frequently results in null pointer dereferences when the
      rtc_device_register immediately makes use of the rtc device, calling
      rtc_read_alarm.
      
      The solution is to ensure the clientdata is initialized prior to registering
      the rtc device.
      
      CC: Wolfram Sang <w.sang@pengutronix.de>
      CC: Alessandro Zummo <a.zummo@towertech.it>
      CC: Thomas Gleixner <tglx@linutronix.de>
      CC: rtc-linux@googlegroups.com
      Signed-off-by: NJohn Stultz <john.stultz@linaro.org>
      a015dbc1
    • J
      rtc: ds1286: Initialize drvdata before registering device · 9a281a67
      John Stultz 提交于
      Commit f44f7f96 ("RTC: Initialize kernel state from RTC") uncovered
      an issue in a number of RTC drivers, where the drivers call
      rtc_device_register before initializing the device or platform drvdata.
      
      This frequently results in null pointer dereferences when the
      rtc_device_register immediately makes use of the rtc device, calling
      rtc_read_alarm.
      
      The solution is to ensure the drvdata is initialized prior to registering
      the rtc device.
      
      CC: Wolfram Sang <w.sang@pengutronix.de>
      CC: Alessandro Zummo <a.zummo@towertech.it>
      CC: Thomas Gleixner <tglx@linutronix.de>
      CC: rtc-linux@googlegroups.com
      Signed-off-by: NJohn Stultz <john.stultz@linaro.org>
      9a281a67
    • W
      rtc: ep93xx: Initialize drvdata before registering device · 92d921c5
      Wolfram Sang 提交于
      Commit f44f7f96 ("RTC: Initialize kernel state from RTC") uncovered
      an issue in a number of RTC drivers, where the drivers call
      rtc_device_register before initializing the device or platform drvdata.
      
      This frequently results in null pointer dereferences when the
      rtc_device_register immediately makes use of the rtc device, calling
      rtc_read_alarm.
      
      The solution is to ensure the drvdata is initialized prior to registering
      the rtc device.
      
      CC: Alessandro Zummo <a.zummo@towertech.it>
      CC: Thomas Gleixner <tglx@linutronix.de>
      CC: rtc-linux@googlegroups.com
      Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
      [Fixed up commit log -jstultz]
      Signed-off-by: NJohn Stultz <john.stultz@linaro.org>
      92d921c5
    • W
      rtc: davinci: Initialize drvdata before registering device · f4e708ae
      Wolfram Sang 提交于
      Commit f44f7f96 ("RTC: Initialize kernel state from RTC") uncovered
      an issue in a number of RTC drivers, where the drivers call
      rtc_device_register before initializing the device or platform drvdata.
      
      This frequently results in null pointer dereferences when the
      rtc_device_register immediately makes use of the rtc device, calling
      rtc_read_alarm.
      
      The solution is to ensure the drvdata is initialized prior to registering
      the rtc device.
      
      CC: Alessandro Zummo <a.zummo@towertech.it>
      CC: Thomas Gleixner <tglx@linutronix.de>
      CC: rtc-linux@googlegroups.com
      Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
      [fixed up commit log -jstultz]
      Signed-off-by: NJohn Stultz <john.stultz@linaro.org>
      f4e708ae
    • W
      rtc: mxc: Initialize drvdata before registering device · 5f54c8a0
      Wolfram Sang 提交于
      Commit f44f7f96 ("RTC: Initialize kernel state from RTC") uncovered
      an issue in a number of RTC drivers, where the drivers call
      rtc_device_register before initializing the device or platform drvdata.
      
      This frequently results in null pointer dereferences when the
      rtc_device_register immediately makes use of the rtc device, calling
      rtc_read_alarm.
      
      The solution is to ensure the drvdata is initialized prior to registering
      the rtc device.
      
      CC: Alessandro Zummo <a.zummo@towertech.it>
      CC: Thomas Gleixner <tglx@linutronix.de>
      CC: rtc-linux@googlegroups.com
      Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
      [fixed up commit log -jstultz]
      Signed-off-by: NJohn Stultz <john.stultz@linaro.org>
      5f54c8a0
  3. 05 5月, 2011 9 次提交
  4. 04 5月, 2011 17 次提交
  5. 03 5月, 2011 2 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 497ff034
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: wm831x-ts - move BTN_TOUCH reporting to data transfer
        Input: wm831x-ts - allow IRQ flags to be specified
        Input: wm831x-ts - fix races with IRQ management
      497ff034
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 5933f2ae
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits)
        sysctl: net: call unregister_net_sysctl_table where needed
        Revert: veth: remove unneeded ifname code from veth_newlink()
        smsc95xx: fix reset check
        tg3: Fix failure to enable WoL by default when possible
        networking: inappropriate ioctl operation should return ENOTTY
        amd8111e: trivial typo spelling: Negotitate -> Negotiate
        ipv4: don't spam dmesg with "Using LC-trie" messages
        af_unix: Only allow recv on connected seqpacket sockets.
        mii: add support of pause frames in mii_get_an
        net: ftmac100: fix scheduling while atomic during PHY link status change
        usbnet: Transfer of maintainership
        usbnet: add support for some Huawei modems with cdc-ether ports
        bnx2: cancel timer on device removal
        iwl4965: fix "Received BA when not expected"
        iwlagn: fix "Received BA when not expected"
        dsa/mv88e6131: fix unknown multicast/broadcast forwarding on mv88e6085
        usbnet: Resubmit interrupt URB if device is open
        iwl4965: fix "TX Power requested while scanning"
        iwlegacy: led stay solid on when no traffic
        b43: trivial: update module info about ucode16_mimo firmware
        ...
      5933f2ae