mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
USB: gadget: Drop NULL test on list_entry result
list_entry, which is an alias for container_of, cannot return NULL, as there is no way to add a NULL value to a doubly linked list. A simplified version of the semantic match that findds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r@ expression x,E; statement S1,S2; position p,p1; @@ *x = list_entry@p(...) ... when != x = E *if@p1 (x == NULL) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
d12b85e7de
commit
058e698b63
@ -2378,7 +2378,6 @@ static irqreturn_t udc_data_in_isr(struct udc *dev, int ep_ix)
|
||||
if (!ep->cancel_transfer && !list_empty(&ep->queue)) {
|
||||
req = list_entry(ep->queue.next,
|
||||
struct udc_request, queue);
|
||||
if (req) {
|
||||
/*
|
||||
* length bytes transfered
|
||||
* check dma done of last desc. in PPBDU mode
|
||||
@ -2390,8 +2389,7 @@ static irqreturn_t udc_data_in_isr(struct udc *dev, int ep_ix)
|
||||
AMD_GETBITS(td->status,
|
||||
UDC_DMA_IN_STS_BS);
|
||||
/* don't care DMA done */
|
||||
req->req.actual =
|
||||
req->req.length;
|
||||
req->req.actual = req->req.length;
|
||||
}
|
||||
} else {
|
||||
/* assume all bytes transferred */
|
||||
@ -2405,13 +2403,9 @@ static irqreturn_t udc_data_in_isr(struct udc *dev, int ep_ix)
|
||||
/* further request available ? */
|
||||
if (list_empty(&ep->queue)) {
|
||||
/* disable interrupt */
|
||||
tmp = readl(
|
||||
&dev->regs->ep_irqmsk);
|
||||
tmp = readl(&dev->regs->ep_irqmsk);
|
||||
tmp |= AMD_BIT(ep->num);
|
||||
writel(tmp,
|
||||
&dev->regs->ep_irqmsk);
|
||||
}
|
||||
|
||||
writel(tmp, &dev->regs->ep_irqmsk);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user