Просмотр исходного кода

[PATCH] USB usblp: rate-limit printer status error messages

Rate-limit usblp printer error status messages.

I unplugged my USB printer and almost instantly got several hundred
of these in my kernel message log:
drivers/usb/class/usblp.c: usblp0: error -19 reading printer status

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Randy Dunlap 20 лет назад
Родитель
Сommit
0bc8e009a2
1 измененных файлов с 6 добавлено и 3 удалено
  1. 6 3
      drivers/usb/class/usblp.c

+ 6 - 3
drivers/usb/class/usblp.c

@@ -310,8 +310,9 @@ static int usblp_check_status(struct usblp *usblp, int err)
 
 
 	error = usblp_read_status (usblp, usblp->statusbuf);
 	error = usblp_read_status (usblp, usblp->statusbuf);
 	if (error < 0) {
 	if (error < 0) {
-		err("usblp%d: error %d reading printer status",
-			usblp->minor, error);
+		if (printk_ratelimit())
+			err("usblp%d: error %d reading printer status",
+				usblp->minor, error);
 		return 0;
 		return 0;
 	}
 	}
 
 
@@ -604,7 +605,9 @@ static int usblp_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
 
 
 			case LPGETSTATUS:
 			case LPGETSTATUS:
 				if (usblp_read_status(usblp, usblp->statusbuf)) {
 				if (usblp_read_status(usblp, usblp->statusbuf)) {
-					err("usblp%d: failed reading printer status", usblp->minor);
+					if (printk_ratelimit())
+						err("usblp%d: failed reading printer status",
+							usblp->minor);
 					retval = -EIO;
 					retval = -EIO;
 					goto done;
 					goto done;
 				}
 				}