mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-26 16:41:25 +00:00
usblp: Don't let suspend to kill ->used
Suspend destroys refcounting for open/release. Signed-off-by: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
dda034bcb5
commit
97cb95d1c4
1 changed files with 2 additions and 3 deletions
|
@ -347,10 +347,8 @@ static int handle_bidir (struct usblp *usblp)
|
||||||
if (usblp->bidir && usblp->used && !usblp->sleeping) {
|
if (usblp->bidir && usblp->used && !usblp->sleeping) {
|
||||||
usblp->readcount = 0;
|
usblp->readcount = 0;
|
||||||
usblp->readurb->dev = usblp->dev;
|
usblp->readurb->dev = usblp->dev;
|
||||||
if (usb_submit_urb(usblp->readurb, GFP_KERNEL) < 0) {
|
if (usb_submit_urb(usblp->readurb, GFP_KERNEL) < 0)
|
||||||
usblp->used = 0;
|
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -412,6 +410,7 @@ static int usblp_open(struct inode *inode, struct file *file)
|
||||||
usblp->readurb->status = 0;
|
usblp->readurb->status = 0;
|
||||||
|
|
||||||
if (handle_bidir(usblp) < 0) {
|
if (handle_bidir(usblp) < 0) {
|
||||||
|
usblp->used = 0;
|
||||||
file->private_data = NULL;
|
file->private_data = NULL;
|
||||||
retval = -EIO;
|
retval = -EIO;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue