First Commit
[librecmc/package-feed.git] / utils / owfs / patches / 100-fix-netlink-w1-status-message-detection.patch
1 AaAA
2 --- a/module/owlib/src/c/ow_w1_parse.c
3 +++ b/module/owlib/src/c/ow_w1_parse.c
4 @@ -237,7 +237,7 @@ enum Netlink_Read_Status W1_Process_Resp
5                         owfree(nlp.nlm) ;
6                         return nrs_nodev ;
7                 }
8 -               if ( nrs_callback == NULL ) { // status message
9 +               if ( nrs_callback == NULL ) { // bus reset
10                         owfree(nlp.nlm) ;
11                         return nrs_complete ;
12                 }
13 @@ -246,7 +246,7 @@ enum Netlink_Read_Status W1_Process_Resp
14                 nrs_callback( &nlp, v, pn ) ;
15                 LEVEL_DEBUG("Called nrs_callback");
16                 owfree(nlp.nlm) ;
17 -               if ( nlp.cn->ack != 0 ) {
18 +               if ( nlp.cn->seq != nlp.cn->ack ) {
19                         if ( nlp.w1m->type == W1_LIST_MASTERS ) {
20                                 continue ; // look for more data
21                         }
22 @@ -254,7 +254,7 @@ enum Netlink_Read_Status W1_Process_Resp
23                                 continue ; // look for more data
24                         }
25                 }
26 -               nrs_callback = NULL ; // now look for status message
27 +               return nrs_complete ; // status message
28         }
29         return nrs_timeout ;
30  }