1. 27 5月, 2011 7 次提交
  2. 18 5月, 2011 1 次提交
  3. 12 5月, 2011 1 次提交
  4. 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
  5. 03 5月, 2011 1 次提交
  6. 28 4月, 2011 1 次提交
  7. 27 4月, 2011 1 次提交
    • J
      time: Add timekeeping_inject_sleeptime · 304529b1
      John Stultz 提交于
      Some platforms cannot implement read_persistent_clock, as
      their RTC devices are only accessible when interrupts are enabled.
      This keeps them from being used by the timekeeping code on resume
      to measure the time in suspend.
      
      The RTC layer tries to work around this, by calling do_settimeofday
      on resume after irqs are reenabled to set the time properly. However,
      this only corrects CLOCK_REALTIME, and does not properly adjust
      the sleep time value. This causes btime in /proc/stat to be incorrect
      as well as making the new CLOCK_BOTTTIME inaccurate.
      
      This patch resolves the issue by introducing a new timekeeping hook
      to allow the RTC layer to inject the sleep time on resume.
      
      The code also checks to make sure that read_persistent_clock is
      nonfunctional before setting the sleep time, so that should the RTC's
      HCTOSYS option be configured in on a system that does support
      read_persistent_clock we will not increase the total_sleep_time twice.
      
      CC: Arve Hjønnevåg <arve@android.com>
      CC: Thomas Gleixner <tglx@linutronix.de>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NJohn Stultz <john.stultz@linaro.org>
      304529b1
  8. 21 4月, 2011 1 次提交
  9. 18 4月, 2011 1 次提交
  10. 15 4月, 2011 1 次提交
  11. 07 4月, 2011 2 次提交
  12. 04 4月, 2011 1 次提交
    • M
      rtc-mrst: Fix section types · b3b896c7
      Major Lee 提交于
      Fix the following section mismatch warning.
      
        WARNING: drivers/rtc/built-in.o(.data+0xa0): Section mismatch in reference from the variable vrtc_mrst_platform_driver to the function .init.text:vrtc_mrst_platform_probe()
        The variable vrtc_mrst_platform_driver references the function __init vrtc_mrst_platform_probe()
        If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable:
          *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
      Signed-off-by: NMajor Lee <major_lee@wistron.com>
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b3b896c7
  13. 31 3月, 2011 1 次提交
  14. 30 3月, 2011 3 次提交
  15. 29 3月, 2011 1 次提交
  16. 23 3月, 2011 4 次提交
  17. 18 3月, 2011 1 次提交
  18. 17 3月, 2011 1 次提交