100-fix-netlink-w1-status-message-detection.patch 895 B

123456789101112131415161718192021222324252627282930
  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. }