From bd8a6f32485ec200dfbeddac4622cd299125d28c Mon Sep 17 00:00:00 2001 From: Fedor Date: Fri, 27 Feb 2009 11:51:28 -0500 Subject: [PATCH] Backport from 2.6 for some quirky printers. --- release/src/linux/linux/drivers/usb/printer.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/release/src/linux/linux/drivers/usb/printer.c b/release/src/linux/linux/drivers/usb/printer.c index 45832812c3..bacc2b8b1d 100644 --- a/release/src/linux/linux/drivers/usb/printer.c +++ b/release/src/linux/linux/drivers/usb/printer.c @@ -255,6 +255,7 @@ struct quirk_printer_struct { #define USBLP_QUIRK_BIDIR 0x1 /* reports bidir but requires unidirectional mode (no INs/reads) */ #define USBLP_QUIRK_USB_INIT 0x2 /* needs vendor USB init string */ +#define USBLP_QUIRK_BAD_CLASS 0x4 /* descriptor uses vendor-specific Class or SubClass */ static struct quirk_printer_struct quirk_printers[] = { { 0x03f0, 0x0004, USBLP_QUIRK_BIDIR }, /* HP DeskJet 895C */ @@ -270,6 +271,9 @@ static struct quirk_printer_struct quirk_printers[] = { { 0x0409, 0xbef4, USBLP_QUIRK_BIDIR }, /* NEC Picty760 (HP OEM) */ { 0x0409, 0xf0be, USBLP_QUIRK_BIDIR }, /* NEC Picty920 (HP OEM) */ { 0x0409, 0xf1be, USBLP_QUIRK_BIDIR }, /* NEC Picty800 (HP OEM) */ + { 0x0482, 0x0010, USBLP_QUIRK_BIDIR }, /* Kyocera Mita FS 820, by zut */ + { 0x04f9, 0x000d, USBLP_QUIRK_BIDIR }, /* Brother Industries, Ltd HL-1440 Laser Printer */ + { 0x04b8, 0x0202, USBLP_QUIRK_BAD_CLASS }, /* Seiko Epson Receipt Printer M129C */ { 0, 0 } }; @@ -1470,7 +1474,8 @@ static int usblp_select_alts(struct usblp *usblp) ifd = &if_alt->altsetting[i]; if (ifd->bInterfaceClass != 7 || ifd->bInterfaceSubClass != 1) - continue; + if (!(usblp->quirks & USBLP_QUIRK_BAD_CLASS)) + continue; if (ifd->bInterfaceProtocol < USBLP_FIRST_PROTOCOL || ifd->bInterfaceProtocol > USBLP_LAST_PROTOCOL) -- 2.11.4.GIT