Module Name: src
Committed By: skrll
Date: Sat Feb 6 08:50:52 UTC 2016
Modified Files:
src/sys/dev/usb [nick-nhusb]: xhci.c
Log Message:
Use if (expr) { ... } instead of a if (expr) goto label; ... ; label:
To generate a diff of this commit:
cvs rdiff -u -r1.28.2.49 -r1.28.2.50 src/sys/dev/usb/xhci.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/usb/xhci.c
diff -u src/sys/dev/usb/xhci.c:1.28.2.49 src/sys/dev/usb/xhci.c:1.28.2.50
--- src/sys/dev/usb/xhci.c:1.28.2.49 Sun Jan 10 10:33:43 2016
+++ src/sys/dev/usb/xhci.c Sat Feb 6 08:50:52 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: xhci.c,v 1.28.2.49 2016/01/10 10:33:43 skrll Exp $ */
+/* $NetBSD: xhci.c,v 1.28.2.50 2016/02/06 08:50:52 skrll Exp $ */
/*
* Copyright (c) 2013 Jonathan A. Kollasch
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xhci.c,v 1.28.2.49 2016/01/10 10:33:43 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xhci.c,v 1.28.2.50 2016/02/06 08:50:52 skrll Exp $");
#include "opt_usb.h"
@@ -1023,12 +1023,16 @@ xhci_intr1(struct xhci_softc * const sc)
iman = xhci_rt_read_4(sc, XHCI_IMAN(0));
DPRINTFN(16, "IMAN0 %08x", iman, 0, 0, 0);
+#if 0
+#ifdef __HAVE_PCI_MSI_MSIX
/* XXX 4.17.5 IP may be 0 if MSI/MSI-X is used */
if (!(sc->sc_quirks & XHCI_QUIRK_FORCE_INTR)) {
if ((iman & XHCI_IMAN_INTR_PEND) == 0) {
return 0;
}
}
+#endif
+#endif
xhci_rt_write_4(sc, XHCI_IMAN(0), iman);
iman = xhci_rt_read_4(sc, XHCI_IMAN(0));
@@ -3206,27 +3210,25 @@ xhci_device_ctrl_start(struct usbd_xfer
XHCI_TRB_3_IDT_BIT;
xhci_trb_put(&xx->xx_trb[i++], parameter, status, control);
- if (len == 0)
- goto no_data;
-
- /* data phase */
- parameter = DMAADDR(dma, 0);
- KASSERT(len <= 0x10000);
- status = XHCI_TRB_2_IRQ_SET(0) |
- XHCI_TRB_2_TDSZ_SET(1) |
- XHCI_TRB_2_BYTES_SET(len);
- control = (isread ? XHCI_TRB_3_DIR_IN : 0) |
- XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_DATA_STAGE) |
- XHCI_TRB_3_CHAIN_BIT | XHCI_TRB_3_ENT_BIT;
- xhci_trb_put(&xx->xx_trb[i++], parameter, status, control);
-
- parameter = (uintptr_t)xfer | 0x3;
- status = XHCI_TRB_2_IRQ_SET(0);
- control = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_EVENT_DATA) |
- XHCI_TRB_3_IOC_BIT;
- xhci_trb_put(&xx->xx_trb[i++], parameter, status, control);
+ if (len != 0) {
+ /* data phase */
+ parameter = DMAADDR(dma, 0);
+ KASSERT(len <= 0x10000);
+ status = XHCI_TRB_2_IRQ_SET(0) |
+ XHCI_TRB_2_TDSZ_SET(1) |
+ XHCI_TRB_2_BYTES_SET(len);
+ control = (isread ? XHCI_TRB_3_DIR_IN : 0) |
+ XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_DATA_STAGE) |
+ XHCI_TRB_3_CHAIN_BIT | XHCI_TRB_3_ENT_BIT;
+ xhci_trb_put(&xx->xx_trb[i++], parameter, status, control);
+
+ parameter = (uintptr_t)xfer | 0x3;
+ status = XHCI_TRB_2_IRQ_SET(0);
+ control = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_EVENT_DATA) |
+ XHCI_TRB_3_IOC_BIT;
+ xhci_trb_put(&xx->xx_trb[i++], parameter, status, control);
+ }
-no_data:
parameter = 0;
status = XHCI_TRB_2_IRQ_SET(0);
/* the status stage has inverted direction */