fix compares of jiffies
PATCH 1/1 fix compares of jiffies
Dear Linux kernel code maintainer,
on rechecking the current stable kernel code, I found some places where jiffies were compared in a way that seems to break when they wrap. For these, I made up patches to use the macros "time_before()" or "time_after()" that are supposed to handle wraparound correctly.
For a small part of the patches, I believe you to be the relevant kernel code maintainer. Appended to this email you will find some lines explaining why I decided to mail or cc: you on this (an extract of the copyright notice or the MAINTAINERS file), followed by the patch itself. If I mailed you in error, please drop me a short note.
I kindly ask you to approve the correctness of the patch, and pass it on to the relevant people for inclusion into the mainline kernel.
Thanks,
Tim Schmielau ([email protected])
* 04-07-1999: Anthony Barbachan <[email protected]>
* Added module parameter pss_firmware to allow the user to tell * the driver where the fireware file is located. The default * setting is the previous hardcoded setting "/etc/sound/pss_synth".
drivers/sound/pss.c +3 -3
@@ -263,7 +263,7 @@unsigned long i, limit = jiffies +HZ /10 ;outw (0x2000 ,REG (PSS_CONTROL )); -for (i =0 ; i <32768 && (limit-jiffies >=0 ); i++) +for (i =0 ; i <32768 &&time_before_eq (jiffies, limit); i++)inw (REG (PSS_CONTROL ));outw (0x0000 ,REG (PSS_CONTROL ));return 1 ;
@@ -362,11 +362,11 @@outw (0 ,REG (PSS_DATA )); limit = jiffies +HZ /10 ; -for (i =0 ; i <32768 && (limit - jiffies >=0 ); i++) +for (i =0 ; i <32768 &&time_before_eq (jiffies, limit); i++) val =inw (REG (PSS_STATUS )); limit = jiffies +HZ /10 ; -for (i =0 ; i <32768 && (limit-jiffies >=0 ); i++) +for (i =0 ; i <32768 &&time_before_eq (jiffies, limit); i++) { val =inw (REG (PSS_STATUS ));if (val &0x4000 )