• Pascal Giard's avatar
    HID: sony: fix freeze when inserting ghlive ps3/wii dongles · fb1a79a6
    Pascal Giard authored
    This commit fixes a freeze on insertion of a Guitar Hero Live PS3/WiiU
    USB dongle. Indeed, with the current implementation, inserting one of
    those USB dongles will lead to a hard freeze. I apologize for not
    catching this earlier, it didn't occur on my old laptop.
    
    While the issue was isolated to memory alloc/free, I could not figure
    out why it causes a freeze. So this patch fixes this issue by
    simplifying memory allocation and usage.
    
    We remind that for the dongle to work properly, a control URB needs to
    be sent periodically. We used to alloc/free the URB each time this URB
    needed to be sent.
    
    With this patch, the memory for the URB is allocated on the probe, reused
    for as long as the dongle is plugged in, and freed once the dongle is
    unplugged.
    Signed-off-by: default avatarPascal Giard <pascal.giard@etsmtl.ca>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    fb1a79a6
hid-sony.c 96 KB