1. 26 Nov, 2009 4 commits
    • Wolfram Sang's avatar
      at24: Use timeout also for read · 4d29196c
      Wolfram Sang authored
      Writes may take some time on EEPROMs, so for consecutive writes, we already
      have a loop waiting for the EEPROM to become ready. Use such a loop for reads,
      too, in case somebody wants to immediately read after a write. Detailed bug
      report and test case can be found here:
      
      http://article.gmane.org/gmane.linux.drivers.i2c/4660Reported-by: default avatarAleksandar Ivanov <ivanov.aleks@gmail.com>
      Signed-off-by: default avatarWolfram Sang <w.sang@pengutronix.de>
      Tested-by: default avatarAleksandar Ivanov <ivanov.aleks@gmail.com>
      Cc: David Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      4d29196c
    • Jean Delvare's avatar
      i2c: Fix userspace_device list corruption · bbd2d9c9
      Jean Delvare authored
      Fix userspace_device list corruption. The corruption was caused by
      clients not being removed when adapters with such clients were
      themselves removed. Something like the following would trigger it
      (assuming i2c-stub gets adapter number 3):
      
      # modprobe i2c-stub chip_addr=0x50
      # echo 24c08 0x50 > /sys/bus/i2c/devices/i2c-3/new_device 
      # rmmod i2c-stub
      # modprobe i2c-stub chip_addr=0x50
      # echo 24c08 0x50 > /sys/bus/i2c/devices/i2c-3/new_device 
      
      For the records, the stack trace in the kernel logs look like this:
      
      kernel: WARNING: at lib/list_debug.c:30 __list_add+0x8b/0x90()
      kernel: Hardware name: (...)
      kernel: list_add corruption. prev->next should be next (c137fc84), but was (null). (prev=f57111b8).
      kernel: Modules linked in: (...)
      kernel: Pid: 4669, comm: bash Not tainted 2.6.32-rc8 #259
      kernel: Call Trace:
      kernel:  [<c111eb8b>] ? __list_add+0x8b/0x90
      kernel:  [<c111eb8b>] ? __list_add+0x8b/0x90
      kernel:  [<c103265c>] warn_slowpath_common+0x6c/0xc0
      kernel:  [<c111eb8b>] ? __list_add+0x8b/0x90
      kernel:  [<c10326f6>] warn_slowpath_fmt+0x26/0x30
      kernel:  [<c111eb8b>] __list_add+0x8b/0x90
      kernel:  [<c11ba165>] i2c_sysfs_new_device+0x1c5/0x250
      kernel:  [<c10861be>] ? might_fault+0x2e/0x80
      kernel:  [<c11b9fa0>] ? i2c_sysfs_new_device+0x0/0x250
      kernel:  [<c118c625>] dev_attr_store+0x25/0x30
      kernel:  [<c10e305c>] sysfs_write_file+0x9c/0xf0
      kernel:  [<c109d35c>] vfs_write+0x9c/0x160
      kernel:  [<c10e2fc0>] ? sysfs_write_file+0x0/0xf0
      kernel:  [<c109d4dd>] sys_write+0x3d/0x70
      kernel:  [<c1002ed8>] sysenter_do_call+0x12/0x36
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      bbd2d9c9
    • Jean Delvare's avatar
      MAINTAINERS: Add missing i2c files · 03b70d62
      Jean Delvare authored
      Add missing header files to the i2c subsystem section.
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      03b70d62
    • Michele Jr De Candia's avatar
      i2c/tsl2550: Fix lux value in extended mode · 5f5bfb09
      Michele Jr De Candia authored
      According to the TAOS Application Note 'Controlling a Backlight with
      the TSL2550 Ambient Light Sensor' (page 14), the actual lux value in
      extended mode should be obtained multiplying the calculated lux value
      by 5.
      Signed-off-by: default avatarMichele Jr De Candia <michele.decandia@valueteam.com>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      5f5bfb09
  2. 20 Nov, 2009 5 commits
  3. 19 Nov, 2009 9 commits
  4. 18 Nov, 2009 22 commits