diff --git a/utils/owfs/patches/100-fix-netlink-w1-status-message-detection.patch b/utils/owfs/patches/100-fix-netlink-w1-status-message-detection.patch new file mode 100644 index 000000000..251065fa2 --- /dev/null +++ b/utils/owfs/patches/100-fix-netlink-w1-status-message-detection.patch @@ -0,0 +1,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 ; + }