Print this page
NEX-16600 "No SOF interrupts have been received" on HPE ProLiant DL380 Gen10, leading to non-working USB EHCI controller
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>

@@ -16,14 +16,19 @@
  * fields enclosed by brackets "[]" replaced with your own identifying
  * information: Portions Copyright [yyyy] [name of copyright owner]
  *
  * CDDL HEADER END
  */
+
 /*
  * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
  */
 
+/*
+ * Copyright 2018 Nexenta Systems, Inc.
+ */
+
 #ifndef _SYS_USB_EHCID_H
 #define _SYS_USB_EHCID_H
 
 
 #ifdef  __cplusplus

@@ -129,13 +134,10 @@
         ehci_itd_t              *ehci_itd_pool_addr;    /* Start of the pool */
         ddi_dma_cookie_t        ehci_itd_pool_cookie;   /* DMA cookie */
         ddi_dma_handle_t        ehci_itd_pool_dma_handle;       /* DMA hndle */
         ddi_acc_handle_t        ehci_itd_pool_mem_handle;       /* Mem hndle */
 
-        /* Condition variable for advance on Asynchronous Schedule */
-        kcondvar_t              ehci_async_schedule_advance_cv;
-
         /* Head of Asynchronous Schedule List */
         ehci_qh_t               *ehci_head_of_async_sched_list;
 
         /*
          * List of QTD inserted either into Asynchronous or Periodic

@@ -1026,17 +1028,10 @@
 #define EHCI_ZALLOC             0x02    /* Memory for ehci state structure */
 #define EHCI_INTR               0x04    /* Interrupt handler registered */
 #define EHCI_USBAREG            0x08    /* USBA registered */
 #define EHCI_RHREG              0x10    /* Root hub driver loaded */
 
-/*
- * This variable is used in the EHCI_FLAGS to tell the ISR to broadcase
- * the ehci_async_schedule_advance_cv when an intr occurs.  It is used to
- * make sure that EHCI is receiving interrupts.
- */
-#define EHCI_CV_INTR            0x20    /* Ask INTR to broadcast cv */
-
 #define EHCI_UNIT(dev)  (getminor((dev)) & ~HUBD_IS_ROOT_HUB)
 
 /*
  * Debug printing
  * Masks