|
@@ -501,6 +501,7 @@ static void async_completed(struct urb *urb)
|
|
|
as->status = urb->status;
|
|
|
signr = as->signr;
|
|
|
if (signr) {
|
|
|
+ memset(&sinfo, 0, sizeof(sinfo));
|
|
|
sinfo.si_signo = as->signr;
|
|
|
sinfo.si_errno = as->status;
|
|
|
sinfo.si_code = SI_ASYNCIO;
|
|
@@ -2382,6 +2383,7 @@ static void usbdev_remove(struct usb_device *udev)
|
|
|
wake_up_all(&ps->wait);
|
|
|
list_del_init(&ps->list);
|
|
|
if (ps->discsignr) {
|
|
|
+ memset(&sinfo, 0, sizeof(sinfo));
|
|
|
sinfo.si_signo = ps->discsignr;
|
|
|
sinfo.si_errno = EPIPE;
|
|
|
sinfo.si_code = SI_ASYNCIO;
|