openwrt-packages/utils/owfs/patches/100-fix-netlink-w1-status-m...

31 lines
895 B
Diff

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 ;
}