<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/drivers/w1, branch v3.2.45</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.2.45</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.2.45'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2013-03-20T15:03:35Z</updated>
<entry>
<title>w1: fix oops when w1_search is called from netlink connector</title>
<updated>2013-03-20T15:03:35Z</updated>
<author>
<name>Marcin Jurkowski</name>
<email>marcin1j@gmail.com</email>
</author>
<published>2013-03-02T13:50:15Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=cd1444055c4a0e6af16751335828d2db5ddf919a'/>
<id>urn:sha1:cd1444055c4a0e6af16751335828d2db5ddf919a</id>
<content type='text'>
commit 9d1817cab2f030f6af360e961cc69bb1da8ad765 upstream.

On Sat, Mar 02, 2013 at 10:45:10AM +0100, Sven Geggus wrote:
&gt; This is the bad commit I found doing git bisect:
&gt; 04f482faf50535229a5a5c8d629cf963899f857c is the first bad commit
&gt; commit 04f482faf50535229a5a5c8d629cf963899f857c
&gt; Author: Patrick McHardy &lt;kaber@trash.net&gt;
&gt; Date:   Mon Mar 28 08:39:36 2011 +0000

Good job. I was too lazy to bisect for bad commit;)

Reading the code I found problematic kthread_should_stop call from netlink
connector which causes the oops. After applying a patch, I've been testing
owfs+w1 setup for nearly two days and it seems to work very reliable (no
hangs, no memleaks etc).
More detailed description and possible fix is given below:

Function w1_search can be called from either kthread or netlink callback.
While the former works fine, the latter causes oops due to kthread_should_stop
invocation.

This patch adds a check if w1_search is serving netlink command, skipping
kthread_should_stop invocation if so.

Signed-off-by: Marcin Jurkowski &lt;marcin1j@gmail.com&gt;
Acked-by: Evgeniy Polyakov &lt;zbr@ioremap.net&gt;
Cc: Josh Boyer &lt;jwboyer@gmail.com&gt;
Tested-by: Sven Geggus &lt;lists@fuchsschwanzdomain.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux</title>
<updated>2011-11-07T03:44:47Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-11-07T03:44:47Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=32aaeffbd4a7457bf2f7448b33b5946ff2a960eb'/>
<id>urn:sha1:32aaeffbd4a7457bf2f7448b33b5946ff2a960eb</id>
<content type='text'>
* 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
  Revert "tracing: Include module.h in define_trace.h"
  irq: don't put module.h into irq.h for tracking irqgen modules.
  bluetooth: macroize two small inlines to avoid module.h
  ip_vs.h: fix implicit use of module_get/module_put from module.h
  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
  include: replace linux/module.h with "struct module" wherever possible
  include: convert various register fcns to macros to avoid include chaining
  crypto.h: remove unused crypto_tfm_alg_modname() inline
  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
  pm_runtime.h: explicitly requires notifier.h
  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
  miscdevice.h: fix up implicit use of lists and types
  stop_machine.h: fix implicit use of smp.h for smp_processor_id
  of: fix implicit use of errno.h in include/linux/of.h
  of_platform.h: delete needless include &lt;linux/module.h&gt;
  acpi: remove module.h include from platform/aclinux.h
  miscdevice.h: delete unnecessary inclusion of module.h
  device_cgroup.h: delete needless include &lt;linux/module.h&gt;
  net: sch_generic remove redundant use of &lt;linux/module.h&gt;
  net: inet_timewait_sock doesnt need &lt;linux/module.h&gt;
  ...

Fix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in
 - drivers/media/dvb/frontends/dibx000_common.c
 - drivers/media/video/{mt9m111.c,ov6650.c}
 - drivers/mfd/ab3550-core.c
 - include/linux/dmaengine.h
</content>
</entry>
<entry>
<title>w1: disable irqs in critical section</title>
<updated>2011-11-02T23:07:03Z</updated>
<author>
<name>Jan Weitzel</name>
<email>j.weitzel@phytec.de</email>
</author>
<published>2011-11-02T20:40:02Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=3fd306c85adcde7209281cb663dd8ea247e97cc3'/>
<id>urn:sha1:3fd306c85adcde7209281cb663dd8ea247e97cc3</id>
<content type='text'>
Interrupting w1_delay() in w1_read_bit() results in missing the low level
on the w1 line and receiving "1" instead of "0".

Add local_irq_save()/local_irq_restore() around the critical section

Signed-off-by: Jan Weitzel &lt;j.weitzel@phytec.de&gt;
Acked-by: Evgeniy Polyakov &lt;zbr@ioremap.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>drivers/w1/w1_int.c: multiple masters used same init_name</title>
<updated>2011-11-02T23:07:03Z</updated>
<author>
<name>Florian Faber</name>
<email>faber@faberman.de</email>
</author>
<published>2011-11-02T20:39:59Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=68a436aec345c2bcd05dbdafae1f5f608ff8f61f'/>
<id>urn:sha1:68a436aec345c2bcd05dbdafae1f5f608ff8f61f</id>
<content type='text'>
When using multiple masters, w1_int.c would use the .init_name from w1.c
for all entities, which will fail when creating a corresponding sysfs
entry.  This patch uses the unique name previously generated.

  WARNING: at fs/sysfs/dir.c:451 sysfs_add_one+0x48/0x64()
  sysfs: cannot create duplicate filename '/devices/w1 bus master'
  Modules linked in:
  Call trace:
   [&lt;9001a604&gt;] warn_slowpath_common+0x34/0x44
   [&lt;9001a64c&gt;] warn_slowpath_fmt+0x14/0x18
   [&lt;90078020&gt;] sysfs_add_one+0x48/0x64
   [&lt;900784ec&gt;] create_dir+0x40/0x68
   [&lt;9007857a&gt;] sysfs_create_dir+0x66/0x78
   [&lt;900c1a8a&gt;] kobject_add_internal+0x6e/0x104
   [&lt;900c1bc0&gt;] kobject_add_varg+0x20/0x2c
   [&lt;900c1c1c&gt;] kobject_add+0x30/0x3c
   [&lt;900dbd66&gt;] device_add+0x6a/0x378
   [&lt;900dbb4a&gt;] device_initialize+0x12/0x48
   [&lt;900dc080&gt;] device_register+0xc/0x10
   [&lt;900f99be&gt;] w1_add_master_device+0x162/0x274
   [&lt;90008e7a&gt;] w1_gpio_probe+0x66/0xb4
   [&lt;9000030c&gt;] kernel_init+0x0/0xe8
   [&lt;900dde54&gt;] platform_drv_probe+0xc/0xe
   [&lt;9000030c&gt;] kernel_init+0x0/0xe8
   [&lt;900dd4f8&gt;] driver_probe_device+0x6c/0xdc
   [&lt;900dd5fc&gt;] __driver_attach+0x34/0x48
   [&lt;900dcce8&gt;] bus_for_each_dev+0x2c/0x48
   [&lt;900dd5c8&gt;] __driver_attach+0x0/0x48
   [&lt;900dd38c&gt;] driver_attach+0x10/0x14
   [&lt;900dd16a&gt;] bus_add_driver+0x6a/0x18c
   [&lt;900dd768&gt;] driver_register+0x60/0xb8
   [&lt;90011594&gt;] __initcall_w1_therm_init6+0x0/0x4
   [&lt;90008e00&gt;] w1_gpio_init+0x0/0x14
   [&lt;9000030c&gt;] kernel_init+0x0/0xe8
   [&lt;900ddf48&gt;] platform_driver_register+0x30/0x38
   [&lt;90011594&gt;] __initcall_w1_therm_init6+0x0/0x4
   [&lt;90008e00&gt;] w1_gpio_init+0x0/0x14
   [&lt;9000030c&gt;] kernel_init+0x0/0xe8
   [&lt;900ddf5e&gt;] platform_driver_probe+0xe/0x3c
   [&lt;90008e0c&gt;] w1_gpio_init+0xc/0x14
   [&lt;90011594&gt;] __initcall_w1_therm_init6+0x0/0x4
   [&lt;90008e00&gt;] w1_gpio_init+0x0/0x14
   [&lt;900126d4&gt;] do_one_initcall+0x34/0x130
   [&lt;90000372&gt;] kernel_init+0x66/0xe8
   [&lt;90011594&gt;] __initcall_w1_therm_init6+0x0/0x4
   [&lt;9001ca3e&gt;] do_exit+0x0/0x3a6
   [&lt;9000030c&gt;] kernel_init+0x0/0xe8
   [&lt;9001ca3e&gt;] do_exit+0x0/0x3a6

  ---[ end trace 5a9233884fead918 ]---
  kobject_add_internal failed for w1 bus master with -EEXIST, don't try to register things with the same name in the same directory.

Signed-off-by: Florian Faber &lt;faber@faberman.de&gt;
Cc: Evgeniy Polyakov &lt;zbr@ioremap.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>drivers/power/ds2780_battery.c: add a nolock function to w1 interface</title>
<updated>2011-11-02T23:07:03Z</updated>
<author>
<name>Clifton Barnes</name>
<email>cabarnes@indesign-llc.com</email>
</author>
<published>2011-11-02T20:39:52Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=9fe678fa2feb4aaac0b4220de63e1b7f8ccebae6'/>
<id>urn:sha1:9fe678fa2feb4aaac0b4220de63e1b7f8ccebae6</id>
<content type='text'>
Adds a nolock function to the w1 interface to avoid locking the
mutex if needed.

Signed-off-by: Clifton Barnes &lt;cabarnes@indesign-llc.com&gt;
Cc: Evgeniy Polyakov &lt;zbr@ioremap.net&gt;
Cc: &lt;stable@kernel.org&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>w1: ds2760 and ds2780, use ida for id and ida_simple_get() to get it</title>
<updated>2011-11-02T23:07:02Z</updated>
<author>
<name>Jonathan Cameron</name>
<email>jic23@cam.ac.uk</email>
</author>
<published>2011-11-02T20:39:43Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=3e5428177c74df7f3b8c59b2f27f46b82b077e94'/>
<id>urn:sha1:3e5428177c74df7f3b8c59b2f27f46b82b077e94</id>
<content type='text'>
Straightforward.  As an aside, the ida_init calls are not needed as far as
I can see needed.  (DEFINE_IDA does the same already).

Signed-off-by: Jonathan Cameron &lt;jic23@cam.ac.uk&gt;
Cc: Evgeniy Polyakov &lt;zbr@ioremap.net&gt;
Acked-by: Clifton Barnes &lt;cabarnes@indesign-llc.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>drivers/w1: Add moduleparam.h to drivers/w1/w1_int.c</title>
<updated>2011-10-31T23:32:00Z</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2011-09-16T03:09:52Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=4d184129b2f91e41d357e920a25a83317d79dfe2'/>
<id>urn:sha1:4d184129b2f91e41d357e920a25a83317d79dfe2</id>
<content type='text'>
It doesn't need the full module.h but it was getting moduleparam.h
from the fact that module.h was everywhere.

Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>drivers/w1: Add export.h for EXPORT_SYMBOL/THIS_MODULE</title>
<updated>2011-10-31T23:32:00Z</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2011-07-10T17:21:52Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=9623932cd5815e280cef5ebb54b5ee92bec382ad'/>
<id>urn:sha1:9623932cd5815e280cef5ebb54b5ee92bec382ad</id>
<content type='text'>
Give these files export.h so that they can reliably get the EXPORT_SYMBOL
and THIS_MODULE macros in the future, once module.h isn't implicitly
everywhere.

Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>MAINTAINERS: Evgeniy has moved</title>
<updated>2011-08-25T23:25:33Z</updated>
<author>
<name>Evgeniy Polyakov</name>
<email>zbr@ioremap.net</email>
</author>
<published>2011-08-25T22:59:06Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=a801876638c5ce650223476c4eb8f37cea32dc1c'/>
<id>urn:sha1:a801876638c5ce650223476c4eb8f37cea32dc1c</id>
<content type='text'>
Signed-off-by: Evgeniy Polyakov &lt;zbr@ioremap.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>w1: fix for loop in w1_f29_remove_slave()</title>
<updated>2011-08-25T23:25:33Z</updated>
<author>
<name>Dan Carpenter</name>
<email>error27@gmail.com</email>
</author>
<published>2011-08-25T22:59:04Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=58299449257566613f58dcfb757f0ba4a377987a'/>
<id>urn:sha1:58299449257566613f58dcfb757f0ba4a377987a</id>
<content type='text'>
The for loop was looking for i &lt;= 0 instead of i &gt;= 0 so this function
never did anything.  Also we started with i = NB_SYSFS_BIN_FILES instead
of "NB_SYSFS_BIN_FILES - 1" which is an off by one bug.

Reported-by: Bojan Prtvar &lt;prtvar.b@gmail.com&gt;
Signed-off-by: Dan Carpenter &lt;error27@gmail.com&gt;
Acked-by: Jean-Franois Dagenais &lt;dagenaisj@sonatest.com&gt;
Cc: Evgeniy Polyakov &lt;zbr@ioremap.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
