[PATCH] USB: g_file_storage: Set short_not_ok for bulk-out transfers
I'm told that some UDC hardware may work better if it knows that receiving a short packet should always cause an error. Accordingly, this patch (as663) sets the short_not_ok flag for bulk-out transfers in g_file_storage. Oddly enough, there are no circumstances where that driver can legally receive a shorter-than-expected bulk-out packet. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
7e1c0b86ac
commit
70ffe6e14d
1 changed files with 3 additions and 0 deletions
|
@ -1795,6 +1795,7 @@ static int do_write(struct fsg_dev *fsg)
|
|||
* the bulk-out maxpacket size */
|
||||
bh->outreq->length = bh->bulk_out_intended_length =
|
||||
amount;
|
||||
bh->outreq->short_not_ok = 1;
|
||||
start_transfer(fsg, fsg->bulk_out, bh->outreq,
|
||||
&bh->outreq_busy, &bh->state);
|
||||
fsg->next_buffhd_to_fill = bh->next;
|
||||
|
@ -2398,6 +2399,7 @@ static int throw_away_data(struct fsg_dev *fsg)
|
|||
* the bulk-out maxpacket size */
|
||||
bh->outreq->length = bh->bulk_out_intended_length =
|
||||
amount;
|
||||
bh->outreq->short_not_ok = 1;
|
||||
start_transfer(fsg, fsg->bulk_out, bh->outreq,
|
||||
&bh->outreq_busy, &bh->state);
|
||||
fsg->next_buffhd_to_fill = bh->next;
|
||||
|
@ -3029,6 +3031,7 @@ static int get_next_command(struct fsg_dev *fsg)
|
|||
|
||||
/* Queue a request to read a Bulk-only CBW */
|
||||
set_bulk_out_req_length(fsg, bh, USB_BULK_CB_WRAP_LEN);
|
||||
bh->outreq->short_not_ok = 1;
|
||||
start_transfer(fsg, fsg->bulk_out, bh->outreq,
|
||||
&bh->outreq_busy, &bh->state);
|
||||
|
||||
|
|
Loading…
Reference in a new issue