Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

URB memory allocation BUG

Help
2010-07-03
2013-05-30
  • Endre Kollar
    Endre Kollar
    2010-07-03

    USB tuner (DVB Alcor) would like to share network.
    When the tuner is trying to share the following error in the module:

     stub_rx   : ***ERROR*** (/home/taxy/usbip-0.1.7/drivers/2.6.24/stub_rx.c,532) stub_recv_cmd_submit: submit_urb error, -12
    
    usb_submit_urb(priv->urb, GFP_KERNEL);
    

    function returns the error code 12, which means that there is out of memory. But what kind of memory?

     
  • Endre Kollar
    Endre Kollar
    2010-07-06

    No transfer problem.
    seq 4 causes this.

    Full debug log:

     usbip: USB/IP Stub: register a new interface (bus 5 dev 3 ifn 1)
     usbip: stub up
     stub_rx   :(stub_rx.c,568) stub_rx_pdu: Enter
     stub_rx   :(usbip_common.c,465) usbip_xmit: enter
     stub_rx   :usbip_xmit: receiving....
        00 00 00 01 | 00 00 00 01 | 00 05 00 03 | 00 00 00 01 | 00 00 00 00 | 00 00 00 00 |
        00 00 00 12 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 80 06 00 01 | 00 00 12 00 |
     usbip_xmit: received, osize 48 ret 48 size 0 total 48
     stub_rx   :(usbip_common.c,342) usbip_dump_header: BASE: cmd 1 seq 1 devid 327683 dir 1 ep 0
     stub_rx   :(usbip_common.c,351) usbip_dump_header: CMD_SUBMIT: x_flags 0 x_len 18 sf 0 #p 0 iv 0
     stub_rx   :(stub_rx.c,237) tweak_special_requests: no need to tweak
     stub_rx   :(stub_rx.c,543) stub_recv_cmd_submit: submit urb ok, seqnum 1
     stub_rx   :(stub_rx.c,556) stub_recv_cmd_submit: Leave
     stub_rx   :(stub_rx.c,568) stub_rx_pdu: Enter
     stub_rx   :(usbip_common.c,465) usbip_xmit: enter
     interrupt :(stub_tx.c,77) stub_complete: complete! status 0
     stub_tx   :(stub_tx.c,195) stub_send_ret_submit: setup txdata urb c8ccc180
     stub_rx   :usbip_xmit: receiving....
        00 00 00 01 | 00 00 00 02 | 00 05 00 03 | 00 00 00 01 | 00 00 00 00 | 00 00 00 00 |
        00 00 00 09 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 80 06 00 02 | 00 00 09 00 |
     usbip_xmit: received, osize 48 ret 48 size 0 total 48
     stub_rx   :(usbip_common.c,342) usbip_dump_header: BASE: cmd 1 seq 2 devid 327683 dir 1 ep 0
     stub_rx   :(usbip_common.c,351) usbip_dump_header: CMD_SUBMIT: x_flags 0 x_len 9 sf 0 #p 0 iv 0
     stub_rx   :(stub_rx.c,237) tweak_special_requests: no need to tweak
     stub_rx   :(stub_rx.c,543) stub_recv_cmd_submit: submit urb ok, seqnum 2
     stub_rx   :(stub_rx.c,556) stub_recv_cmd_submit: Leave
     stub_rx   :(stub_rx.c,568) stub_rx_pdu: Enter
     stub_rx   :(usbip_common.c,465) usbip_xmit: enter
     interrupt :(stub_tx.c,77) stub_complete: complete! status 0
     stub_tx   :(stub_tx.c,195) stub_send_ret_submit: setup txdata urb c8ccc180
     stub_rx   :usbip_xmit: receiving....
        00 00 00 01 | 00 00 00 03 | 00 05 00 03 | 00 00 00 01 | 00 00 00 00 | 00 00 00 00 |
        00 00 00 47 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 80 06 00 02 | 00 00 47 00 |
     usbip_xmit: received, osize 48 ret 48 size 0 total 48
     stub_rx   :(usbip_common.c,342) usbip_dump_header: BASE: cmd 1 seq 3 devid 327683 dir 1 ep 0
     stub_rx   :(usbip_common.c,351) usbip_dump_header: CMD_SUBMIT: x_flags 0 x_len 71 sf 0 #p 0 iv 0
     stub_rx   :(stub_rx.c,237) tweak_special_requests: no need to tweak
     stub_rx   :(stub_rx.c,543) stub_recv_cmd_submit: submit urb ok, seqnum 3
     stub_rx   :(stub_rx.c,556) stub_recv_cmd_submit: Leave
     stub_rx   :(stub_rx.c,568) stub_rx_pdu: Enter
     stub_rx   :(usbip_common.c,465) usbip_xmit: enter
     interrupt :(stub_tx.c,77) stub_complete: complete! status 0
     stub_tx   :(stub_tx.c,195) stub_send_ret_submit: setup txdata urb c8ccc180
     stub_rx   :usbip_xmit: receiving....
        00 00 00 01 | 00 00 00 04 | 00 05 00 03 | 00 00 00 00 | 00 00 00 02 | 00 00 00 00 |
        00 00 00 08 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 80 06 00 02 | 00 00 47 00 |
     usbip_xmit: received, osize 48 ret 48 size 0 total 48
     stub_rx   :(usbip_common.c,342) usbip_dump_header: BASE: cmd 1 seq 4 devid 327683 dir 0 ep 2
     stub_rx   :(usbip_common.c,351) usbip_dump_header: CMD_SUBMIT: x_flags 0 x_len 8 sf 0 #p 0 iv 0
     stub_rx   :(usbip_common.c,465) usbip_xmit: enter
     stub_rx   :usbip_xmit: receiving....
        20 00 2a 9a | 50 a0 b3 01 |
     usbip_xmit: received, osize 8 ret 8 size 0 total 8
     stub_rx   : ***ERROR*** (stub_rx.c,545) stub_recv_cmd_submit: submit_urb error, ret code:-12, queue length:1
     stub_rx   :(usbip_common.c,342) usbip_dump_header: BASE: cmd 1 seq 4 devid 327683 dir 0 ep 2
     stub_rx   :(usbip_common.c,351) usbip_dump_header: CMD_SUBMIT: x_flags 0 x_len 8 sf 0 #p 0 iv 0
        urb                   :c8ccc180
        dev                   :cb013000
            devnum(3) devpath(4) SPD_HIGH tt 00000000, ttport 0
                           0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
            toggle0(IN) :  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
            toggle1(OUT):  0  0  0  1  0  0  0  0  0  0  0  0  0  0  0  0
            epmaxp_in   : 64 512 64 512 512
            epmaxp_out  : 64 512
            parent cb982000, bus cba4a600
            descriptor cb013184, config c9a16200, actconfig c9a16200, rawdescriptors c9b0b4e0
            have_langid 1, string_langid 1033
            maxchild 0, children cb01324c
        pipe                  :40010300 dev(3) ep(2) OUT INT
        status                :-115
        transfer_flags        :00000000
        transfer_buffer       :ca342620
        transfer_buffer_length:8
        actual_length         :0
        setup_packet          :ca342630
        start_frame           :0
        number_of_packets     :0
        interval              :0
        error_count           :0
        context               :c98c0720
        complete              :ccce4010
     stub_rx   :(stub_rx.c,556) stub_recv_cmd_submit: Leave