summaryrefslogtreecommitdiffstats
path: root/utils/owfs/patches/100-fix-netlink-w1-status-message-detection.patch
blob: 251065fa2faacb3b5f68b9226b276ae32aa63a64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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 ;
 }