W1: ds2490.c reset ds2490 in init
commite464af24734c40853dd68ec694d83a82e3930d66
authorDavid Fries <david@fries.net>
Thu, 16 Oct 2008 05:05:08 +0000 (15 22:05 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 16 Oct 2008 18:21:51 +0000 (16 11:21 -0700)
tree732fdf15dbe1bed0930c8db2c326d9f4c9347b04
parent7a4b9706ed762373f74311f96f5122fb74212192
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