usb-redir: Change usbredir_open_chardev into usbredir_create_parser
As we need to create the parser at more places. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
		
							parent
							
								
									b4ae3cfa57
								
							
						
					
					
						commit
						dbbf01958e
					
				@ -862,15 +862,11 @@ static void usbredir_chardev_close_bh(void *opaque)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void usbredir_chardev_open(USBRedirDevice *dev)
 | 
					static void usbredir_create_parser(USBRedirDevice *dev)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    uint32_t caps[USB_REDIR_CAPS_SIZE] = { 0, };
 | 
					    uint32_t caps[USB_REDIR_CAPS_SIZE] = { 0, };
 | 
				
			||||||
    int flags = 0;
 | 
					    int flags = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* Make sure any pending closes are handled (no-op if none pending) */
 | 
					 | 
				
			||||||
    usbredir_chardev_close_bh(dev);
 | 
					 | 
				
			||||||
    qemu_bh_cancel(dev->chardev_close_bh);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    DPRINTF("creating usbredirparser\n");
 | 
					    DPRINTF("creating usbredirparser\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dev->parser = qemu_oom_check(usbredirparser_create());
 | 
					    dev->parser = qemu_oom_check(usbredirparser_create());
 | 
				
			||||||
@ -982,7 +978,10 @@ static void usbredir_chardev_event(void *opaque, int event)
 | 
				
			|||||||
    switch (event) {
 | 
					    switch (event) {
 | 
				
			||||||
    case CHR_EVENT_OPENED:
 | 
					    case CHR_EVENT_OPENED:
 | 
				
			||||||
        DPRINTF("chardev open\n");
 | 
					        DPRINTF("chardev open\n");
 | 
				
			||||||
        usbredir_chardev_open(dev);
 | 
					        /* Make sure any pending closes are handled (no-op if none pending) */
 | 
				
			||||||
 | 
					        usbredir_chardev_close_bh(dev);
 | 
				
			||||||
 | 
					        qemu_bh_cancel(dev->chardev_close_bh);
 | 
				
			||||||
 | 
					        usbredir_create_parser(dev);
 | 
				
			||||||
        break;
 | 
					        break;
 | 
				
			||||||
    case CHR_EVENT_CLOSED:
 | 
					    case CHR_EVENT_CLOSED:
 | 
				
			||||||
        DPRINTF("chardev close\n");
 | 
					        DPRINTF("chardev close\n");
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user