NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/50491: unkillable wait in usbd_transfer while using usmsc0 on raspberry pi 2



The following reply was made to PR kern/50491; it has been noted by GNATS.

From: Nick Hudson <skrll%netbsd.org@localhost>
To: gnats-bugs%NetBSD.org@localhost, kern-bug-people%netbsd.org@localhost,
 gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost
Cc: 
Subject: Re: kern/50491: unkillable wait in usbd_transfer while using usmsc0
 on raspberry pi 2
Date: Tue, 1 Dec 2015 14:33:58 +0000

 This is a multi-part message in MIME format.
 --------------060900050601040906010405
 Content-Type: text/plain; charset=windows-1252; format=flowed
 Content-Transfer-Encoding: 7bit
 
 On 12/01/15 06:50, mfpnb%plass-family.net@localhost wrote:
 >> Number:         50491
 >> Category:       kern
 >> Synopsis:       unkillable wait in usbd_transfer while using usmsc0 on raspberry pi 2
 
 
 > usbd_do_request: not in process context
 > usmsc0: warning: Failed to write register 0x10c
 > usbd_do_request: not in process context
 > usmsc0: warning: Failed to write register 0x110
 > usbd_do_request: not in process context
 > usmsc0: warning: Failed to write register 0x100
 
 
 Please run with this patch to help determine why this is happening.
 
 It will drop to debugger where you can get a backtrace.
 
 Thanks,
 Nick
 
 --------------060900050601040906010405
 Content-Type: text/x-patch;
  name="pr50491.diff"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment;
  filename="pr50491.diff"
 
 Index: sys/dev/usb/usbdi.c
 ===================================================================
 RCS file: /cvsroot/src/sys/dev/usb/usbdi.c,v
 retrieving revision 1.161.2.1
 diff -u -p -r1.161.2.1 usbdi.c
 --- sys/dev/usb/usbdi.c	11 Feb 2015 09:32:19 -0000	1.161.2.1
 +++ sys/dev/usb/usbdi.c	1 Dec 2015 14:33:00 -0000
 @@ -992,6 +992,8 @@ usbd_do_request_flags_pipe(usbd_device_h
  	usbd_xfer_handle xfer;
  	usbd_status err;
  
 +	ASSERT_SLEEPABLE();
 +
  #ifdef DIAGNOSTIC
  	if (cpu_intr_p() || cpu_softintr_p()) {
  		printf("usbd_do_request: not in process context\n");
 
 --------------060900050601040906010405--
 


Home | Main Index | Thread Index | Old Index