Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-8433

USB versus Work Queue API

    XMLWordPrintable

Details

    Description

      https://jira.reactos.org/browse/CORE-8359?focusedCommentId=60303&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-60303

      Alter:

      I don't see any problem with PATA + ATAPI part
      But I see a problem, which may cause USB keyboard/mouse freez:

      AtapiInterrupt(base): set CHECK_INTR_IDLE (2)
      AtapiInterrupt(base): exit with status 0x0
      (ntoskrnl/ex/work.c:351) EX: Work Queue Deadlock detected: 1
      (ntoskrnl/ex/work.c:353) Dynamic threads queued 1
      (lib/drivers/libusb/hub_controller.cpp:315) [USBOHCI] SCE Request B71AA140 TransferBufferLength 12 Flags 3 MDL 00000000
      (lib/drivers/libusb/hub_controller.cpp:326) [USBOHCI] Port 0: Status 0, Change 0
      (lib/drivers/libusb/hub_controller.cpp:326) [USBOHCI] Port 1: Status 0, Change 0
      (lib/drivers/libusb/hub_controller.cpp:326) [USBOHCI] Port 2: Status 0, Change 1
      Intr: VendorID+DeviceID/Rev 0x439c1002/0x0 (ex 0)
      unexpected, 1st chance

      It seems to in in USBOHCI.
      I mean using Work Queue API inside USBOHCI ISR.
      Uniata doesn't use Work Queues at all, since this is not allowed on high IRQLs.
      (see http://jira.reactos.org/browse/CORE-8431)

      Attachments

        Issue Links

          Activity

            People

              bug zilla Bug Zilla
              Jedi-to-be Jedi-to-be
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: