Try below patch, which is posted at http://marc.info/?l=linux-omap&m=123147818901920&w=2 ==================================================== diff --git a/drivers/usb/musb/musbhsdma.c b/drivers/usb/musb/musbhsdma.c index 75b15ce..8e44355 100644 --- a/drivers/usb/musb/musbhsdma.c +++ b/drivers/usb/musb/musbhsdma.c @@ -136,7 +136,7 @@ static void configure_channel(struct dma_channel *channel, csr |= MUSB_HSDMA_BURSTMODE_INCR4; csr |= (musb_channel->epnum << MUSB_HSDMA_ENDPOINT_SHIFT) - | MUSB_HSDMA_MODE1 + | (mode ? MUSB_HSDMA_MODE1 : 0) | MUSB_HSDMA_ENABLE | MUSB_HSDMA_IRQENABLE | (musb_channel->transmit -- 1.5.6 ======================================================== Regards, ajay > -----Original Message----- > From: linux-usb-owner@xxxxxxxxxxxxxxx [mailto:linux-usb-owner@xxxxxxxxxxxxxxx] On Behalf Of Robert > Sent: Thursday, January 08, 2009 6:48 PM > To: linux-usb@xxxxxxxxxxxxxxx > Subject: Problems with newer kernels on omap3 board > > Hello, > > I do have problems with all my usb devices on my omap3-based boad > (Beagle Board). For example I cannot move a file from a sub stick to the local > filesystem. > uname -a: Linux beagleboard 2.6.28-omap1 #2 Thu Jan 8 13:19:46 CET 2009 armv7l > unknown > > strace output: > ######################### > strace mv /media/sda1/log.txt /home/root/ > execve("/bin/mv", ["mv", "/media/sda1/log.txt", "/home/root/"], [/* 10 vars */]) > = 0 > brk(0) = 0x9f000 > uname({sys="Linux", node="beagleboard", ...}) = 0 > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) > = 0x4001c000 > access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) > open("/var/run/ld.so.cache", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=5760, ...}) = 0 > mmap2(NULL, 5760, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4001d000 > close(3) = 0 > open("/lib/libm.so.6", O_RDONLY) = 3 > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\3101\0\000"..., 512) > = 512 > fstat64(3, {st_mode=S_IFREG|0755, st_size=431928, ...}) = 0 > mmap2(NULL, 463008, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) > = 0x40025000 > mprotect(0x4008e000, 28672, PROT_NONE) = 0 > mmap2(0x40095000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| > MAP_DENYWRITE, 3, 0x68) = 0x4009 > 5000 > close(3) = 0 > open("/lib/libc.so.6", O_RDONLY) = 3 > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\334K\1\000"..., 512) > = 512 > fstat64(3, {st_mode=S_IFREG|0755, st_size=1111556, ...}) = 0 > mmap2(NULL, 1147328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) > = 0x40097000 > mprotect(0x401a3000, 28672, PROT_NONE) = 0 > mmap2(0x401aa000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| > MAP_DENYWRITE, 3, 0x10b) = 0x40 > 1aa000 > mmap2(0x401ad000, 8640, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| > MAP_ANONYMOUS, -1, 0) = 0x401ad0 > 00 > close(3) = 0 > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) > = 0x4001f000 > syscall_983045(0x4001f4a0, 0x4001f4a0, 0x684, 0x4001fb78, 0x40024058, > 0x40024000, 0, 0xf0005, 0x58, > 0x1, 0xffff5cc0, 0xbe9bcb44, 0, 0xbe9bc7e0, 0x400113b4, 0x40002018, > 0x20000010, 0x4001f4a0, 0xc498, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) = 0 > mprotect(0x401aa000, 8192, PROT_READ) = 0 > mprotect(0x40095000, 4096, PROT_READ) = 0 > mprotect(0x40023000, 4096, PROT_READ) = 0 > munmap(0x4001d000, 5760) = 0 > getpid() = 1742 > getuid32() = 0 > stat64("/home/root/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 > brk(0) = 0x9f000 > brk(0xc0000) = 0xc0000 > stat64("/home/root/log.txt", 0xbe9bcc38) = -1 ENOENT (No such file or > directory) > rename("/media/sda1/log.txt", "/home/root/log.txt") = -1 EXDEV (Invalid > cross-device link) > stat64("/media/sda1/log.txt", {st_mode=S_IFREG|0755, st_size=7388, ...}) = 0 > lstat64("/media/sda1/log.txt", {st_mode=S_IFREG|0755, st_size=7388, ...}) = 0 > lstat64("/home/root/log.txt", 0xbe9bcac8) = -1 ENOENT (No such file or > directory) > open("/media/sda1/log.txt", O_RDONLY|O_LARGEFILE) = 3 > open("/home/root/log.txt", O_WRONLY|O_CREAT|O_EXCL|O_LARGEFILE, 0100755) = 4 > read(3, "================================"..., 4096) = 4096 > write(4, "================================"..., 4096) = 4096 > read(3, "idth [ms]\"\n[40]: 0x3001, GRAB_RE"..., 4096) = 3292 > write(4, "idth [ms]\"\n[40]: 0x3001, GRAB_RE"..., 3292) = 3292 > read(3, "", 4096) = 0 > close(4) = 0 > close(3) = 0 > fstatfs64(651376, 3197881000, {???}) = 0 > chown32("/home/root/log.txt", 0, 0) = 0 > chmod("/home/root/log.txt", 0100755) = 0 > lstat64("/media/sda1/log.txt", {st_mode=S_IFREG|0755, st_size=7388, ...}) = 0 > unlink("/media/sda1/log.txt"usb 1-1.4: > > <----Here it hangs for a minute----> > > reset high speed USB device using musb_hdrc and address 4 > hub 1-1:1.0: cannot reset port 4 (err = -71) > usb 1-1.4: device descriptor read/64, error -110 > hub 1-1:1.0: cannot reset port 4 (err = -71) > usb 1-1.4: device descriptor read/64, error -110 > usb 1-1.4: reset high speed USB device using musb_hdrc and address 4 > usb 1-1.4: device descriptor read/64, error -110 > hub 1-1:1.0: cannot reset port 4 (err = -71) > usb 1-1.4: device descriptor read/64, error -110 > usb 1-1.4: reset high speed USB device using musb_hdrc and address 4 > usb 1-1.4: device not accepting address 4, error -110 > usb 1-1.4: reset high speed USB device using musb_hdrc and address 4 > usb 1-1.4: device not accepting address 4, error -110 > usb 1-1.4: USB disconnect, address 4 > sd 0:0:0:0: Device offlined - not ready after error recovery > sd 0:0:0:0: [sda] Result: hostbyte=0x01 driverbyte=0x00 > end_request: I/O error, dev sda, sector 546 > Buffer I/O error on device sda1, logical block 514 > lost page write due to I/O error on sda1 > ) = -1 EIO (Input/output error) > write(2, "mv: cannot Buffer I/O error on device sda1, logical block 514 > lost page write due to I/O error on sda1 > remove \'/media/sda1/l"..., 60mv: cannot remove '/media/sda1/log.txt': > Input/output error) = 60 > io_submit(0x1, 0x1, 0xfbad2088 <unfinished ... exit status 1> > Process 1742 detached > root@beagleboard:~# usb 1-1.4: new high speed USB device using musb_hdrc > and address 5 > usb 1-1.4: device descriptor read/64, error -110 > musb_h_ep0_irq 1091: no URB for end 0 > hub 1-1:1.0: cannot reset port 4 (err = -32) > usb 1-1.4: device descriptor read/64, error -110 > usb 1-1.4: new high speed USB device using musb_hdrc and address 6 > musb_h_ep0_irq 1091: no URB for end 0 > hub 1-1:1.0: cannot reset port 4 (err = -32) > usb 1-1.4: device descriptor read/64, error -110 > musb_h_ep0_irq 1091: no URB for end 0 > hub 1-1:1.0: cannot reset port 4 (err = -32) > usb 1-1.4: device descriptor read/64, error -110 > usb 1-1.4: new high speed USB device using musb_hdrc and address 7 > usb 1-1.4: device not accepting address 7, error -110 > usb 1-1.4: new high speed USB device using musb_hdrc and address 8 > usb 1-1.4: device not accepting address 8, error -110 > hub 1-1:1.0: unable to enumerate USB device on port 4 > ######################### > > > Any ideas how to debug this? Any other idea? > > Robert > > -- > To unsubscribe from this list: send the line "unsubscribe linux-usb" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html