--- /dev/null
+AaAA
+--- a/module/owlib/src/c/ow_w1_parse.c
++++ b/module/owlib/src/c/ow_w1_parse.c
+@@ -237,7 +237,7 @@ enum Netlink_Read_Status W1_Process_Resp
+ owfree(nlp.nlm) ;
+ return nrs_nodev ;
+ }
+- if ( nrs_callback == NULL ) { // status message
++ if ( nrs_callback == NULL ) { // bus reset
+ owfree(nlp.nlm) ;
+ return nrs_complete ;
+ }
+@@ -246,7 +246,7 @@ enum Netlink_Read_Status W1_Process_Resp
+ nrs_callback( &nlp, v, pn ) ;
+ LEVEL_DEBUG("Called nrs_callback");
+ owfree(nlp.nlm) ;
+- if ( nlp.cn->ack != 0 ) {
++ if ( nlp.cn->seq != nlp.cn->ack ) {
+ if ( nlp.w1m->type == W1_LIST_MASTERS ) {
+ continue ; // look for more data
+ }
+@@ -254,7 +254,7 @@ enum Netlink_Read_Status W1_Process_Resp
+ continue ; // look for more data
+ }
+ }
+- nrs_callback = NULL ; // now look for status message
++ return nrs_complete ; // status message
+ }
+ return nrs_timeout ;
+ }