]> git.baikalelectronics.ru Git - kernel.git/commit
W1: ds2490.c reset ds2490 in init
authorDavid Fries <david@fries.net>
Thu, 16 Oct 2008 05:05:08 +0000 (22:05 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 16 Oct 2008 18:21:51 +0000 (11:21 -0700)
commit98661aa5ffce01f66ebd06152d62dfbb6a059889
tree732fdf15dbe1bed0930c8db2c326d9f4c9347b04
parent3cfe51dc705a70b90ebdb1f1a65a712a1d53e3b8
W1: ds2490.c reset ds2490 in init

Reset the device in init as it can be in a bad state.  This is necessary
because a block write will wait for data to be placed in the output buffer
and block any later commands which will keep accumulating and the device
will not be idle.  Another case is removing the ds2490 module while a bus
search is in progress, somehow a few commands get through, but the input
transfers fail leaving data in the input buffer.  This will cause the next
read to fail see the note in ds_recv_data.

Signed-off-by: David Fries <david@fries.net>
Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/w1/masters/ds2490.c