Hi Jan,

My problem appears in the function :

/***
 *  rt_icmp_release
 */
void rt_icmp_release(void)
{
    rt_icmp_cleanup_echo_requests();
    rt_inet_del_protocol(&icmp_protocol);
    rt_bare_socket_cleanup(&icmp_socket);
}

in the function rt_bare_socket_cleanup() which called rtskb_pool_release()

I don't know if there enough information to solve the problem,

Best regards,

WALLOIS Cyril
Xenomai: suspending kernel thread bf0270e0 ('rtnet-rtpc') at 0xbf02b814 after 
exception #8

kernel thread bf0270e0 :
/proc/kallsyms :
bf0270e0 b dispatch_task        [rtnet]

0xbf02b814
/proc/kallsyms :
bf02b790 -> rt_icmp_echo_reply   [rtipv4]
bf02b790 t $a   [rtipv4]
0xbf02b814
bf02b8d8 t $d   [rtipv4]


(begin of the module rt_ipv4 : 0x029000 , 0xbf02b814 should correspond to 2814)

With arm-linux-gnueabi-objdump -dSr rtipv4.ko I can solve the adress 0xbf02b814 
(line 2814) :



/***
 *  rt_icmp_release
 */
void rt_icmp_release(void)
{
    2610:    e1a0c00d     mov    ip, sp
    2614:    e92dd800     stmdb    sp!, {fp, ip, lr, pc}
    2618:    e24cb004     sub    fp, ip, #4    ; 0x4
    rt_icmp_cleanup_echo_requests();
    261c:    ebfffffe     bl    2584 <rt_icmp_cleanup_echo_requests>
            261c: R_ARM_CALL    rt_icmp_cleanup_echo_requests
    rt_inet_del_protocol(&icmp_protocol);
    2620:    e59f000c     ldr    r0, [pc, #12]    ; 2634 <.text+0x2634>
    2624:    ebfffffe     bl    ac8 <rt_inet_del_protocol>
            2624: R_ARM_CALL    rt_inet_del_protocol
                        unsigned int priority, unsigned int pool_size);

static inline void rt_bare_socket_cleanup(struct rtsocket *sock)
{
    rtskb_pool_release(&sock->skb_pool);
    2628:    e59f0008     ldr    r0, [pc, #8]    ; 2638 <.text+0x2638>
    262c:    ebfffffe     bl    0 <__rtskb_pool_release>
            262c: R_ARM_CALL    __rtskb_pool_release
    rt_bare_socket_cleanup(&icmp_socket);
}

...
static inline int test_bit(int nr, const volatile unsigned long *addr)
{
    return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1)));
    27f0:    e59c3000     ldr    r3, [ip]
     * both statuses, assuming that the lowest bit is always set in
     * the truth value (if this is wrong, the failed optimization will
     * be caught in __ipipe_restore_pipeline_head() if
     * CONFIG_DEBUG_KERNEL is set). */
    if ((x ^ test_bit(IPIPE_STALL_FLAG, &ipipe_head_cpudom_var(status))) & 1)
    27f4:    e2033001     and    r3, r3, #1    ; 0x1
    27f8:    e1500003     cmp    r0, r3
    27fc:    0a000000     beq    2804 <rt_icmp_echo_reply+0x74>
        __ipipe_restore_pipeline_head(x);
    2800:    ebfffffe     bl    0 <__ipipe_restore_pipeline_head>
            2800: R_ARM_CALL    __ipipe_restore_pipeline_head
    2804:    e5973028     ldr    r3, [r7, #40]
    2808:    e2856024     add    r6, r5, #36    ; 0x24
    280c:    e3a00000     mov    r0, #0    ; 0x0
    2810:    e593300c     ldr    r3, [r3, #12]
    2814:    e3a01000     mov    r1, #0    ; 0x0
    2818:    e1c602f0     strd    r0, [r6, #32]
    281c:    e5863010     str    r3, [r6, #16]
    2820:    e5973024     ldr    r3, [r7, #36]
    2824:    e1d621b4     ldrh    r2, [r6, #20]
    2828:    e1d330b4     ldrh    r3, [r3, #4]
    282c:    e1530002     cmp    r3, r2
    2830:    1a000024     bne    28c8 <rt_icmp_echo_reply+0x138>
    2834:    ea000005     b    2850 <rt_icmp_echo_reply+0xc0>
 * @addr: Address to start counting from
 */
------------------------------------------------------------------------------

_______________________________________________
RTnet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rtnet-users

Reply via email to