RE: [PATCH/RFC] usb: gadget: function: printer: avoid wrong list handling in printer_write()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> writes:
> Hi,
>
>> From: Felipe Balbi, Sent: Monday, May 21, 2018 5:05 PM
> <snip>
>> seems like it would be better to just move this like before
>> usb_ep_queue():
>> 
>> modified   drivers/usb/gadget/function/f_printer.c
>> @@ -631,19 +631,19 @@ printer_write(struct file *fd, const char __user *buf, size_t len, loff_t *ptr)
>>  			return -EAGAIN;
>>  		}
>> 
>> +		list_add(&req->list, &dev->tx_reqs_active);
>> +
>>  		/* here, we unlock, and only unlock, to avoid deadlock. */
>>  		spin_unlock(&dev->lock);
>>  		value = usb_ep_queue(dev->in_ep, req, GFP_ATOMIC);
>>  		spin_lock(&dev->lock);
>>  		if (value) {
>> +			list_del(&req->list);
>>  			list_add(&req->list, &dev->tx_reqs);
>>  			spin_unlock_irqrestore(&dev->lock, flags);
>>  			mutex_unlock(&dev->lock_printer_io);
>>  			return -EAGAIN;
>>  		}
>> -
>> -		list_add(&req->list, &dev->tx_reqs_active);
>> -
>>  	}
>> 
>>  	spin_unlock_irqrestore(&dev->lock, flags);
>> 
>> --
>
> Thank you very much for your patch! This could resolve the issue.
> So, should I submit this your patch as your author?

you can send it with your authorship, it's totally fine :-)

You can also add my:

Acked-by: Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx>

thanks

-- 
balbi

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux