usb: musb: host: remove duplicate check in musb_ep_program()
musb_ep_program() contains obviously duplicate check for 'dma_channel' in its IN/receive path -- removing it allows to save one level of indentation. While at it, improve the comment style... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
Родитель
981430a170
Коммит
c51e36dc11
|
@ -837,34 +837,29 @@ static void musb_ep_program(struct musb *musb, u8 epnum,
|
|||
/* kick things off */
|
||||
|
||||
if ((is_cppi_enabled() || tusb_dma_omap()) && dma_channel) {
|
||||
/* candidate for DMA */
|
||||
if (dma_channel) {
|
||||
/* Candidate for DMA */
|
||||
dma_channel->actual_len = 0L;
|
||||
qh->segsize = len;
|
||||
|
||||
/* AUTOREQ is in a DMA register */
|
||||
musb_writew(hw_ep->regs, MUSB_RXCSR, csr);
|
||||
csr = musb_readw(hw_ep->regs,
|
||||
MUSB_RXCSR);
|
||||
csr = musb_readw(hw_ep->regs, MUSB_RXCSR);
|
||||
|
||||
/* unless caller treats short rx transfers as
|
||||
/*
|
||||
* Unless caller treats short RX transfers as
|
||||
* errors, we dare not queue multiple transfers.
|
||||
*/
|
||||
dma_ok = dma_controller->channel_program(
|
||||
dma_channel, packet_sz,
|
||||
!(urb->transfer_flags
|
||||
& URB_SHORT_NOT_OK),
|
||||
dma_ok = dma_controller->channel_program(dma_channel,
|
||||
packet_sz, !(urb->transfer_flags &
|
||||
URB_SHORT_NOT_OK),
|
||||
urb->transfer_dma + offset,
|
||||
qh->segsize);
|
||||
if (!dma_ok) {
|
||||
dma_controller->channel_release(
|
||||
dma_channel);
|
||||
hw_ep->rx_channel = NULL;
|
||||
dma_channel = NULL;
|
||||
dma_controller->channel_release(dma_channel);
|
||||
hw_ep->rx_channel = dma_channel = NULL;
|
||||
} else
|
||||
csr |= MUSB_RXCSR_DMAENAB;
|
||||
}
|
||||
}
|
||||
|
||||
csr |= MUSB_RXCSR_H_REQPKT;
|
||||
dev_dbg(musb->controller, "RXCSR%d := %04x\n", epnum, csr);
|
||||
|
|
Загрузка…
Ссылка в новой задаче