mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	cdc-acm: Add support of ATOL FPrint fiscal printers
ATOL FPrint fiscal printers require usb_clear_halt to be executed to work properly. Add quirk to fix the issue. Signed-off-by: Alexey Sokolov <sokolov@7pikes.com> Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
		
							parent
							
								
									19915e6234
								
							
						
					
					
						commit
						15bf722e6f
					
				
					 2 changed files with 10 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -1467,6 +1467,11 @@ static int acm_probe(struct usb_interface *intf,
 | 
			
		|||
		goto alloc_fail8;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (quirks & CLEAR_HALT_CONDITIONS) {
 | 
			
		||||
		usb_clear_halt(usb_dev, usb_rcvbulkpipe(usb_dev, epread->bEndpointAddress));
 | 
			
		||||
		usb_clear_halt(usb_dev, usb_sndbulkpipe(usb_dev, epwrite->bEndpointAddress));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
alloc_fail8:
 | 
			
		||||
	if (acm->country_codes) {
 | 
			
		||||
| 
						 | 
				
			
			@ -1746,6 +1751,10 @@ static const struct usb_device_id acm_ids[] = {
 | 
			
		|||
	.driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ USB_DEVICE(0x2912, 0x0001), /* ATOL FPrint */
 | 
			
		||||
	.driver_info = CLEAR_HALT_CONDITIONS,
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	/* Nokia S60 phones expose two ACM channels. The first is
 | 
			
		||||
	 * a modem and is picked up by the standard AT-command
 | 
			
		||||
	 * information below. The second is 'vendor-specific' but
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -133,3 +133,4 @@ struct acm {
 | 
			
		|||
#define NO_DATA_INTERFACE		BIT(4)
 | 
			
		||||
#define IGNORE_DEVICE			BIT(5)
 | 
			
		||||
#define QUIRK_CONTROL_LINE_STATE	BIT(6)
 | 
			
		||||
#define CLEAR_HALT_CONDITIONS		BIT(7)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue