On 07/21/13 21:06, Alexandre Kovalenko wrote:
Number: 180726
Category: usb
Synopsis: XHCI umass support breaks between r248085 and r252560 on
9-STABLE
Confidential: no
Severity: non-critical
Priority: low
Responsible: freebsd-usb
State: open
Quarter:
Keywords:
Date-Required:
Class: sw-bug
Submitter-Id: current-users
Arrival-Date: Sun Jul 21 19:10:00 UTC 2013
Closed-Date:
Last-Modified:
Originator: Alexandre Kovalenko
Release: 9-STABLE
Organization:
Environment:
FreeBSD twinhead 9.2-BETA1 FreeBSD 9.2-BETA1 #11 r248085:253503: Sun Jul 21
14:29:42 EDT 2013 root@twinhead:/usr/obj/usr/src/sys/TWINHEAD amd64
Description:
Three different external hard drives (Seagate, Western Digital and noname USB
3.0 enclosure) refused to be recognized as the umass devices. Reverting
/usr/src/sys/dev/bsd/controller to r248085, building and loading just xhci
module makes drives appear again. Below are snippets from the log in both cases:
Can you try:
1) Attached patch.
2) Non ASMedia USB 3.0 controller
--HPS
diff --git a/sys/dev/usb/controller/xhci.c b/sys/dev/usb/controller/xhci.c
index e6d5865..7070ef7 100644
--- a/sys/dev/usb/controller/xhci.c
+++ b/sys/dev/usb/controller/xhci.c
@@ -1654,7 +1654,7 @@ restart:
/* fill out buffer pointers */
if (average == 0) {
- npkt = 0;
+ npkt = 1;
memset(&buf_res, 0, sizeof(buf_res));
} else {
usbd_get_page(temp->pc, temp->offset +
@@ -1691,9 +1691,7 @@ restart:
switch (temp->trb_type) {
case XHCI_TRB_TYPE_ISOCH:
- /* BEI: Interrupts are inhibited until EOT */
dword = XHCI_TRB_3_CHAIN_BIT | XHCI_TRB_3_CYCLE_BIT |
- XHCI_TRB_3_BEI_BIT |
XHCI_TRB_3_TBC_SET(temp->tbc) |
XHCI_TRB_3_TLBPC_SET(temp->tlbpc);
if (td != td_first) {
@@ -1728,10 +1726,8 @@ restart:
dword |= XHCI_TRB_3_DIR_IN;
break;
default: /* XHCI_TRB_TYPE_NORMAL */
- /* BEI: Interrupts are inhibited until EOT */
dword = XHCI_TRB_3_CHAIN_BIT | XHCI_TRB_3_CYCLE_BIT |
XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_NORMAL) |
- XHCI_TRB_3_BEI_BIT |
XHCI_TRB_3_TBC_SET(temp->tbc) |
XHCI_TRB_3_TLBPC_SET(temp->tlbpc);
if (temp->direction == UE_DIR_IN)
_______________________________________________
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"