Hi, I found why the writing didn't work. I reduced the number #define TOTAL_FRAME_BW from 12000 to 4096 (in c67x00-hcd.h). Please, can you tell me more about TOTAL_FRAME_BW in order to understand what value to assign? What is the link between my platform and the values : #define TOTAL_FRAME_BW 12000 #define DEFAULT_EOT 2250 #define MAX_FRAME_BW_STD (TOTAL_FRAME_BW - DEFAULT_EOT) #define MAX_FRAME_BW_ISO 2400 #define MAX_PERIODIC_BW(full_bw) full_bw How can I calculate those numbers for my platform? Thank you for your help. Regards. Pierre -----Message d'origine----- De : PEIXOTO Pierre Envoyé : vendredi 1 avril 2011 08:31 À : 'Peter Korsgaard' Cc : linux-usb@xxxxxxxxxxxxxxx Objet : RE: c67x00 driver Hi, Thank you very much for your response. For the interrupt, I'm sure it works because during the c67x00 probe, the interrupt function is activated (c67x00_irq), the ACK from CY7C67300 is received, and the SIE interrupts are received too. Do you remember if the SOF/EOP interrupts were activated? In a first version I used of_irq_to_resource() (I added the interrupt port number linking the Cypress and the Xilinx xps_intc controller) and I red that the interrupt for Cypress CY7C67300 in PowerPc was 17. So I added this number in c67x00_resources[] to avoid to use OF support. /**********************************************************************/ root:~> cat /proc/interrupts CPU0 16: 82 Xilinx Edge INTC Edge uartlite 17: 2 Xilinx Level INTC Level c67x00 LOC: 4237 Local timer interrupts SPU: 0 Spurious interrupts CNT: 0 Performance monitoring interrupts MCE: 0 Machine check exceptions /**********************************************************************/ It is strange that the little writing works and not the big one... The lecture is ok, even with a big file. For example a cat "file.txt" works and the file is printed to the consol. Here is the trace of the writing: The first c67x00_ll_husb_reset are ok but then crashs... /***********************************************************************/ root:~> mount /dev/sda1 /mnt/ root:~> ls -l /mnt/ -rwxr-xr-x 1 root root 5 Jan 1 1980 destination.txt -rwxr-xr-x 1 root root 732892 Mar 28 2011 hdparm -rwxr-xr-x 1 root root 21 Jan 1 1980 mon_test.txt -rwxr-xr-x 1 root root 78303 Mar 29 2011 source.txt root:~> cp /mnt/source.txt /mnt/destination2.txt root:~> sync [ 303.477324] /******************/ [ 303.479394] c67x00_ll_husb_reset [ 303.482625] /******************/ [ 303.645101] usb 1-1: reset full speed USB device using c67x00 and address 2 [ 303.653275] /******************/ [ 303.655239] c67x00_ll_husb_reset [ 303.658556] /******************/ [ 334.053251] /******************/ [ 334.055309] c67x00_ll_husb_reset [ 334.058535] /******************/ [ 334.221098] usb 1-1: reset full speed USB device using c67x00 and address 2 [ 349.225080] /******************/ [ 349.227049] c67x00_ll_husb_reset [ 349.230363] /******************/ [ 349.393091] usb 1-1: device descriptor read/64, error -110 [ 364.501119] /******************/ [ 364.503175] c67x00_ll_husb_reset [ 364.506403] /******************/ [ 364.669089] usb 1-1: device descriptor read/64, error -110 [ 364.777037] /******************/ [ 364.778995] c67x00_ll_husb_reset [ 364.782307] /******************/ [ 364.834969] /******************/ [ 364.837056] c67x00_ll_husb_reset [ 364.840130] /******************/ [ 365.001098] usb 1-1: reset full speed USB device using c67x00 and address 2 [ 380.005127] /******************/ [ 380.007180] c67x00_ll_husb_reset [ 380.010710] /******************/ [ 380.173088] usb 1-1: device descriptor read/64, error -110 [ 395.281116] /******************/ [ 395.283175] c67x00_ll_husb_reset [ 395.286402] /******************/ [ 395.449087] usb 1-1: device descriptor read/64, error -110 [ 395.557037] /******************/ [ 395.558995] c67x00_ll_husb_reset [ 395.562307] /******************/ [ 395.614966] /******************/ [ 395.617048] c67x00_ll_husb_reset [ 395.620121] /******************/ [ 395.781097] usb 1-1: reset full speed USB device using c67x00 and address 2 [ 400.801167] usb 1-1: device descriptor read/8, error -110 [ 405.925206] usb 1-1: device descriptor read/8, error -110 [ 406.033038] /******************/ [ 406.035004] c67x00_ll_husb_reset [ 406.038317] /******************/ [ 406.090974] /******************/ [ 406.093056] c67x00_ll_husb_reset [ 406.096129] /******************/ [ 406.257099] usb 1-1: reset full speed USB device using c67x00 and address 2 [ 411.277170] usb 1-1: device descriptor read/8, error -110 [ 416.401207] usb 1-1: device descriptor read/8, error -110 [ 416.509041] /******************/ [ 416.511003] c67x00_ll_husb_reset [ 416.514316] /******************/ [ 416.566963] /******************/ [ 416.569051] c67x00_ll_husb_reset [ 416.572121] /******************/ [ 416.625122] usb 1-1: USB disconnect, address 2 [ 416.628643] sd 0:0:0:0: Device offlined - not ready after error recovery [ 416.638100] sd 0:0:0:0: [sda] Unhandled error code [ 416.641761] sd 0:0:0:0: [sda] Result: hostbyte=0x01 driverbyte=0x00 [ 416.648032] sd 0:0:0:0: [sda] CDB: cdb[0]=0x2a: 2a 00 00 00 11 dd 00 00 99 00 [ 416.655032] end_request: I/O error, dev sda, sector 4573 root:~> [ 416.683788] /******************/ [ 416.686012] c67x00_ll_husb_reset [ 416.689316] /******************/ [ 416.853100] usb 1-1: new full speed USB device using c67x00 and address 3 [ 431.857237] /******************/ [ 431.859270] c67x00_ll_husb_reset [ 431.862524] /******************/ [ 432.025104] usb 1-1: device descriptor read/64, error -110 [ 447.133120] /******************/ [ 447.135176] c67x00_ll_husb_reset [ 447.138402] /******************/ [ 447.301090] usb 1-1: device descriptor read/64, error -110 [ 447.409039] /******************/ [ 447.410996] c67x00_ll_husb_reset [ 447.414305] /******************/ [ 447.467051] /******************/ [ 447.469127] c67x00_ll_husb_reset [ 447.472200] /******************/ [ 447.637096] usb 1-1: new full speed USB device using c67x00 and address 4 [ 462.641083] /******************/ [ 462.643059] c67x00_ll_husb_reset [ 462.646373] /******************/ [ 462.809093] usb 1-1: device descriptor read/64, error -110 [ 477.917119] /******************/ [ 477.919177] c67x00_ll_husb_reset [ 477.922404] /******************/ [ 478.085094] usb 1-1: device descriptor read/64, error -110 [ 478.193041] /******************/ [ 478.195004] c67x00_ll_husb_reset [ 478.198314] /******************/ [ 478.251060] /******************/ [ 478.253136] c67x00_ll_husb_reset [ 478.256209] /******************/ [ 478.421095] usb 1-1: new full speed USB device using c67x00 and address 5 [ 483.445180] usb 1-1: device descriptor read/8, error -110 [ 488.569094] usb 1-1: device descriptor read/8, error -110 [ 488.677040] /******************/ [ 488.679005] c67x00_ll_husb_reset [ 488.682317] /******************/ [ 493.685243] ------------[ cut here ]------------ [ 493.688611] WARNING: at drivers/usb/c67x00/c67x00-ll-hpi.c:284 [ 493.694397] NIP: c01d01dc LR: c01d01d0 CTR: c0029b78 [ 493.699327] REGS: c385dc00 TRAP: 0700 Not tainted (2.6.37+) [ 493.705102] MSR: 00029030 <EE,ME,CE,IR,DR> CR: 35005033 XER: e000001f [ 493.711678] TASK = c383c800[88] 'khubd' THREAD: c385c000 [ 493.716765] GPR00: 00000001 c385dcb0 c383c800 00000000 c0284350 00000001 120d78ca 00000001 [ 493.725059] GPR08: c0284350 00000000 c3aaa458 00100100 35005033 00001830 c02539e0 c029b63c [ 493.733353] GPR16: c029b6c8 c03be0cc 80000080 00000032 00000001 c3abc068 00000000 35005093 [ 493.741648] GPR24: c385dd58 00000000 c3aaa440 c3aaa464 c3aaa448 00000000 c385dcd8 c3aaa440 [ 493.750174] NIP [c01d01dc] c67x00_comm_exec_int+0x94/0xd4 [ 493.755494] LR [c01d01d0] c67x00_comm_exec_int+0x88/0xd4 [ 493.760741] Call Trace: [ 493.763191] [c385dcb0] [c01d01d0] c67x00_comm_exec_int+0x88/0xd4 (unreliable) [ 493.770277] [c385dcd0] [c01d0408] c67x00_ll_husb_reset+0x68/0x80 [ 493.776239] [c385dd10] [c01d04bc] c67x00_hub_reset_host_port+0x1c/0x88 [ 493.782717] [c385dd30] [c01d0970] c67x00_hub_control+0x224/0x274 [ 493.788705] [c385dd50] [c01b1e40] usb_hcd_submit_urb+0x5d0/0xbfc [ 493.794632] [c385de10] [c01b368c] usb_submit_urb+0x128/0x2d4 [ 493.800252] [c385de20] [c01b4818] usb_start_wait_urb+0x4c/0xe0 [ 493.806037] [c385de50] [c01b4ad0] usb_control_msg+0xe4/0x110 [ 493.811658] [c385de90] [c01ac4d8] clear_port_feature+0x3c/0x4c [ 493.817446] [c385dea0] [c01acf48] hub_port_disable+0x70/0xb4 [ 493.823063] [c385dec0] [c01adbec] hub_port_init+0xf0/0x6cc [ 493.828504] [c385df20] [c01af27c] hub_thread+0x478/0xda8 [ 493.833792] [c385dfb0] [c004d484] kthread+0x7c/0x80 [ 493.838618] [c385dff0] [c000ccbc] kernel_thread+0x4c/0x68 [ 493.843947] Instruction dump: [ 493.846886] 3bbd0002 409effe4 38800000 6084ce01 7fe3fb78 4bfff651 387f0014 388004e2 [ 493.854573] 48026709 707dffff 7c000026 54001ffe <0f000000> 3c00ffff 7fbd00d0 60000005 [ 493.862443] ---[ end trace f7433d35f9589461 ]--- [ 493.868631] ------------[ cut here ]------------ [ 493.871983] kernel BUG at drivers/usb/c67x00/c67x00-ll-hpi.c:370! [ 493.878039] Oops: Exception in kernel mode, sig: 5 [#1] [ 493.883203] PREEMPT Xilinx Virtex [ 493.886491] last sysfs file: /sys/block/sda/sda1/dev [ 493.891427] NIP: c01d0408 LR: c01d0408 CTR: c0029b78 [ 493.896355] REGS: c385dc20 TRAP: 0700 Tainted: G W (2.6.37+) [ 493.902992] MSR: 00029030 <EE,ME,CE,IR,DR> CR: 35005035 XER: c000001f [ 493.909567] TASK = c383c800[88] 'khubd' THREAD: c385c000 [ 493.914655] GPR00: c01d0408 c385dcd0 c383c800 0000fffb c0284350 00000001 120d78ca 00000001 [ 493.922949] GPR08: c0284350 00000000 c3aaa458 00100100 35005033 00001830 c02539e0 c029b63c [ 493.931244] GPR16: c029b6c8 c03be0cc 80000080 00000032 00000001 c3abc068 00000000 35005093 [ 493.939538] GPR24: c385dd58 00000000 c3aaa440 c3aaa464 00000000 c0256910 c3aa16cc c3aaa464 [ 493.948065] NIP [c01d0408] c67x00_ll_husb_reset+0x68/0x80 [ 493.953386] LR [c01d0408] c67x00_ll_husb_reset+0x68/0x80 [ 493.958631] Call Trace: [ 493.961081] [c385dcd0] [c01d0408] c67x00_ll_husb_reset+0x68/0x80 (unreliable) [ 493.968168] [c385dd10] [c01d04bc] c67x00_hub_reset_host_port+0x1c/0x88 [ 493.974646] [c385dd30] [c01d0970] c67x00_hub_control+0x224/0x274 [ 493.980634] [c385dd50] [c01b1e40] usb_hcd_submit_urb+0x5d0/0xbfc [ 493.986561] [c385de10] [c01b368c] usb_submit_urb+0x128/0x2d4 [ 493.992179] [c385de20] [c01b4818] usb_start_wait_urb+0x4c/0xe0 [ 493.997965] [c385de50] [c01b4ad0] usb_control_msg+0xe4/0x110 [ 494.003588] [c385de90] [c01ac4d8] clear_port_feature+0x3c/0x4c [ 494.009375] [c385dea0] [c01acf48] hub_port_disable+0x70/0xb4 [ 494.014992] [c385dec0] [c01adbec] hub_port_init+0xf0/0x6cc [ 494.020433] [c385df20] [c01af27c] hub_thread+0x478/0xda8 [ 494.025722] [c385dfb0] [c004d484] kthread+0x7c/0x80 [ 494.030547] [c385dff0] [c000ccbc] kernel_thread+0x4c/0x68 [ 494.035875] Instruction dump: [ 494.038817] 7fa3eb78 4be6195d 801b000c 7f43d378 5400083c 7f9c0378 38800074 38000032 [ 494.046502] 38a10008 b0010008 b381000a 4bfffd45 <0f030000> 80010044 bb410028 7c0803a6 [ 494.054382] ---[ end trace f7433d35f9589462 ]--- /***********************************************************************/ Thank you for your help. Regards. Pierre -- 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