Re: bluetooth: hci_sysfs work queue problem

2007-10-28 Thread Dave Young
On 10/1/07, Marcel Holtmann <[EMAIL PROTECTED]> wrote:
> Hi Dave,
>
> > The hci_sysfs uses work queue to finish the sysfs add/del fuction.
> > But when the same device connection failed, if another connection of
> > same device come in before the delete work finish, sysfs will warn
> > about duplicate filename creating.
>
> which kernel are we talking about. This problem should not exist
> anymore. However the usage of a work queue is unavoidable.

Recently, I encounted this issue again:
Oct 26 16:57:00 darkstar kernel: sysfs: duplicate filename
'acl00194FA4E517' can not be created
Oct 26 16:57:00 darkstar kernel: WARNING: at fs/sysfs/dir.c:424 sysfs_add_one()
Oct 26 16:57:00 darkstar kernel:  [] sysfs_add_one+0xa0/0xe0
Oct 26 16:57:00 darkstar kernel:  [] sysfs_create_link+0x9b/0x140
Oct 26 16:57:00 darkstar kernel:  [] create_files+0x31/0x60
Oct 26 16:57:00 darkstar kernel:  [] bus_add_device+0x5b/0xf0
Oct 26 16:57:00 darkstar kernel:  [] device_add+0x11c/0x350
Oct 26 16:57:00 darkstar kernel:  [] add_conn+0x0/0x90 [bluetooth]
Oct 26 16:57:00 darkstar kernel:  [] add_conn+0xf/0x90 [bluetooth]
Oct 26 16:57:00 darkstar kernel:  [] run_workqueue+0x5e/0x110
Oct 26 16:57:00 darkstar kernel:  [] worker_thread+0xac/0x100
Oct 26 16:57:00 darkstar kernel:  [] autoremove_wake_function+0x0/0x50
Oct 26 16:57:00 darkstar kernel:  [] autoremove_wake_function+0x0/0x50
Oct 26 16:57:00 darkstar kernel:  [] worker_thread+0x0/0x100
Oct 26 16:57:00 darkstar kernel:  [] kthread+0x59/0xa0
Oct 26 16:57:00 darkstar kernel:  [] kthread+0x0/0xa0
Oct 26 16:57:00 darkstar kernel:  [] kernel_thread_helper+0x7/0x14
Oct 26 16:57:00 darkstar kernel:  ===
Oct 26 16:57:00 darkstar kernel: add_conn: Failed to register connection device

Seems same problem as before. This time, I just used  several rfcomm
connections.
I think if we can add an atomic variable 'going_away' like this:
in hci_conn_del_sysfs:
before INIT_WORK;
atomic_set(_away, 1)

in del_conn:
after deleting completed
atomic_set(_away, 0)

in add_conn:
busy waiting the going_away
while (atomic_read(_away))
cpu_relax()

Regards
dave


> Regards
>
> Marcel
>
>
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: bluetooth: hci_sysfs work queue problem

2007-10-28 Thread Dave Young
On 10/1/07, Marcel Holtmann [EMAIL PROTECTED] wrote:
 Hi Dave,

  The hci_sysfs uses work queue to finish the sysfs add/del fuction.
  But when the same device connection failed, if another connection of
  same device come in before the delete work finish, sysfs will warn
  about duplicate filename creating.

 which kernel are we talking about. This problem should not exist
 anymore. However the usage of a work queue is unavoidable.

Recently, I encounted this issue again:
Oct 26 16:57:00 darkstar kernel: sysfs: duplicate filename
'acl00194FA4E517' can not be created
Oct 26 16:57:00 darkstar kernel: WARNING: at fs/sysfs/dir.c:424 sysfs_add_one()
Oct 26 16:57:00 darkstar kernel:  [c01c0120] sysfs_add_one+0xa0/0xe0
Oct 26 16:57:00 darkstar kernel:  [c01c0d7b] sysfs_create_link+0x9b/0x140
Oct 26 16:57:00 darkstar kernel:  [c01c1671] create_files+0x31/0x60
Oct 26 16:57:00 darkstar kernel:  [c02b537b] bus_add_device+0x5b/0xf0
Oct 26 16:57:00 darkstar kernel:  [c02b391c] device_add+0x11c/0x350
Oct 26 16:57:00 darkstar kernel:  [f8879410] add_conn+0x0/0x90 [bluetooth]
Oct 26 16:57:00 darkstar kernel:  [f887941f] add_conn+0xf/0x90 [bluetooth]
Oct 26 16:57:00 darkstar kernel:  [c013baee] run_workqueue+0x5e/0x110
Oct 26 16:57:00 darkstar kernel:  [c013bc4c] worker_thread+0xac/0x100
Oct 26 16:57:00 darkstar kernel:  [c014] autoremove_wake_function+0x0/0x50
Oct 26 16:57:00 darkstar kernel:  [c014] autoremove_wake_function+0x0/0x50
Oct 26 16:57:00 darkstar kernel:  [c013bba0] worker_thread+0x0/0x100
Oct 26 16:57:00 darkstar kernel:  [c013fa39] kthread+0x59/0xa0
Oct 26 16:57:00 darkstar kernel:  [c013f9e0] kthread+0x0/0xa0
Oct 26 16:57:00 darkstar kernel:  [c0104f83] kernel_thread_helper+0x7/0x14
Oct 26 16:57:00 darkstar kernel:  ===
Oct 26 16:57:00 darkstar kernel: add_conn: Failed to register connection device

Seems same problem as before. This time, I just used  several rfcomm
connections.
I think if we can add an atomic variable 'going_away' like this:
in hci_conn_del_sysfs:
before INIT_WORK;
atomic_set(going_away, 1)

in del_conn:
after deleting completed
atomic_set(going_away, 0)

in add_conn:
busy waiting the going_away
while (atomic_read(going_away))
cpu_relax()

Regards
dave


 Regards

 Marcel



-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: bluetooth: hci_sysfs work queue problem

2007-10-01 Thread Marcel Holtmann
Hi Dave,

> The hci_sysfs uses work queue to finish the sysfs add/del fuction.
> But when the same device connection failed, if another connection of
> same device come in before the delete work finish, sysfs will warn
> about duplicate filename creating.

which kernel are we talking about. This problem should not exist
anymore. However the usage of a work queue is unavoidable.

Regards

Marcel


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: bluetooth: hci_sysfs work queue problem

2007-10-01 Thread Marcel Holtmann
Hi Dave,

 The hci_sysfs uses work queue to finish the sysfs add/del fuction.
 But when the same device connection failed, if another connection of
 same device come in before the delete work finish, sysfs will warn
 about duplicate filename creating.

which kernel are we talking about. This problem should not exist
anymore. However the usage of a work queue is unavoidable.

Regards

Marcel


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


bluetooth: hci_sysfs work queue problem

2007-09-29 Thread Dave Young
Hi,
The hci_sysfs uses work queue to finish the sysfs add/del fuction.
But when the same device connection failed, if another connection of
same device come in before the delete work finish, sysfs will warn
about duplicate filename creating.

Sep 19 12:30:27 darkstar kernel: sysfs: duplicate filename
'acl00194FDB6C71' can not be created
Sep 19 12:30:27 darkstar kernel: WARNING: at fs/sysfs/dir.c:433 sysfs_add_one()
Sep 19 12:30:27 darkstar kernel:  [] sysfs_add_one+0xa0/0xe0
Sep 19 12:30:27 darkstar kernel:  [] create_dir+0x48/0xb0
Sep 19 12:30:27 darkstar kernel:  [] __slab_alloc+0x205/0x250
Sep 19 12:30:27 darkstar kernel:  [] sysfs_create_dir+0x29/0x50
Sep 19 12:30:27 darkstar kernel:  [] create_dir+0x1b/0x50
Sep 19 12:30:27 darkstar kernel:  [] kobject_add+0x46/0x150
Sep 19 12:30:27 darkstar kernel:  [] kobject_set_name+0x84/0xf0
Sep 19 12:30:27 darkstar kernel:  [] device_add+0x95/0x350
Sep 19 12:30:27 darkstar kernel:  [] add_conn+0x0/0x90 [bluetooth]
Sep 19 12:30:27 darkstar kernel:  [] add_conn+0xf/0x90 [bluetooth]
Sep 19 12:30:27 darkstar kernel:  [] vmstat_update+0x0/0x30
Sep 19 12:30:27 darkstar kernel:  [] run_workqueue+0x5e/0x110
Sep 19 12:30:27 darkstar kernel:  [] worker_thread+0xac/0x100
Sep 19 12:30:27 darkstar kernel:  [] autoremove_wake_function+0x0/0x50
Sep 19 12:30:27 darkstar kernel:  [] autoremove_wake_function+0x0/0x50
Sep 19 12:30:27 darkstar kernel:  [] worker_thread+0x0/0x100
Sep 19 12:30:27 darkstar kernel:  [] kthread+0x59/0xa0
Sep 19 12:30:27 darkstar kernel:  [] kthread+0x0/0xa0
Sep 19 12:30:27 darkstar kernel:  [] kernel_thread_helper+0x7/0x14
Sep 19 12:30:27 darkstar kernel:  ===
Sep 19 12:30:27 darkstar kernel: kobject_add failed for
acl00194FDB6C71 with -EEXIST, don't try to register things with the
same name in the same directory.
Sep 19 12:30:27 darkstar kernel:  [] kobject_add+0xf6/0x150
Sep 19 12:30:27 darkstar kernel:  [] device_add+0x95/0x350
Sep 19 12:30:27 darkstar kernel:  [] add_conn+0x0/0x90 [bluetooth]
Sep 19 12:30:27 darkstar kernel:  [] add_conn+0xf/0x90 [bluetooth]
Sep 19 12:30:27 darkstar kernel:  [] vmstat_update+0x0/0x30
Sep 19 12:30:27 darkstar kernel:  [] run_workqueue+0x5e/0x110
Sep 19 12:30:27 darkstar kernel:  [] worker_thread+0xac/0x100
Sep 19 12:30:27 darkstar kernel:  [] autoremove_wake_function+0x0/0x50
Sep 19 12:30:27 darkstar kernel:  [] autoremove_wake_function+0x0/0x50
Sep 19 12:30:27 darkstar kernel:  [] worker_thread+0x0/0x100
Sep 19 12:30:27 darkstar kernel:  [] kthread+0x59/0xa0
Sep 19 12:30:27 darkstar kernel:  [] kthread+0x0/0xa0
Sep 19 12:30:27 darkstar kernel:  [] kernel_thread_helper+0x7/0x14
Sep 19 12:30:27 darkstar kernel:  ===
Sep 19 12:30:27 darkstar kernel: add_conn: Failed to register connection device
Sep 19 12:41:36 darkstar kernel:  [] kernel_thread_helper+0x7/0x14

Marcel, how to resolve this problem?  do you have some ideas?

Regards
dave
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


bluetooth: hci_sysfs work queue problem

2007-09-29 Thread Dave Young
Hi,
The hci_sysfs uses work queue to finish the sysfs add/del fuction.
But when the same device connection failed, if another connection of
same device come in before the delete work finish, sysfs will warn
about duplicate filename creating.

Sep 19 12:30:27 darkstar kernel: sysfs: duplicate filename
'acl00194FDB6C71' can not be created
Sep 19 12:30:27 darkstar kernel: WARNING: at fs/sysfs/dir.c:433 sysfs_add_one()
Sep 19 12:30:27 darkstar kernel:  [c01c3ad0] sysfs_add_one+0xa0/0xe0
Sep 19 12:30:27 darkstar kernel:  [c01c3e38] create_dir+0x48/0xb0
Sep 19 12:30:27 darkstar kernel:  [c0178df5] __slab_alloc+0x205/0x250
Sep 19 12:30:27 darkstar kernel:  [c01c3ee9] sysfs_create_dir+0x29/0x50
Sep 19 12:30:27 darkstar kernel:  [c024cf5b] create_dir+0x1b/0x50
Sep 19 12:30:27 darkstar kernel:  [c024d226] kobject_add+0x46/0x150
Sep 19 12:30:27 darkstar kernel:  [c024d404] kobject_set_name+0x84/0xf0
Sep 19 12:30:27 darkstar kernel:  [c02b7035] device_add+0x95/0x350
Sep 19 12:30:27 darkstar kernel:  [f88aec60] add_conn+0x0/0x90 [bluetooth]
Sep 19 12:30:27 darkstar kernel:  [f88aec6f] add_conn+0xf/0x90 [bluetooth]
Sep 19 12:30:27 darkstar kernel:  [c01663d0] vmstat_update+0x0/0x30
Sep 19 12:30:27 darkstar kernel:  [c013bdfe] run_workqueue+0x5e/0x110
Sep 19 12:30:27 darkstar kernel:  [c013bf5c] worker_thread+0xac/0x100
Sep 19 12:30:27 darkstar kernel:  [c0140340] autoremove_wake_function+0x0/0x50
Sep 19 12:30:27 darkstar kernel:  [c0140340] autoremove_wake_function+0x0/0x50
Sep 19 12:30:27 darkstar kernel:  [c013beb0] worker_thread+0x0/0x100
Sep 19 12:30:27 darkstar kernel:  [c013fd49] kthread+0x59/0xa0
Sep 19 12:30:27 darkstar kernel:  [c013fcf0] kthread+0x0/0xa0
Sep 19 12:30:27 darkstar kernel:  [c0104fb3] kernel_thread_helper+0x7/0x14
Sep 19 12:30:27 darkstar kernel:  ===
Sep 19 12:30:27 darkstar kernel: kobject_add failed for
acl00194FDB6C71 with -EEXIST, don't try to register things with the
same name in the same directory.
Sep 19 12:30:27 darkstar kernel:  [c024d2d6] kobject_add+0xf6/0x150
Sep 19 12:30:27 darkstar kernel:  [c02b7035] device_add+0x95/0x350
Sep 19 12:30:27 darkstar kernel:  [f88aec60] add_conn+0x0/0x90 [bluetooth]
Sep 19 12:30:27 darkstar kernel:  [f88aec6f] add_conn+0xf/0x90 [bluetooth]
Sep 19 12:30:27 darkstar kernel:  [c01663d0] vmstat_update+0x0/0x30
Sep 19 12:30:27 darkstar kernel:  [c013bdfe] run_workqueue+0x5e/0x110
Sep 19 12:30:27 darkstar kernel:  [c013bf5c] worker_thread+0xac/0x100
Sep 19 12:30:27 darkstar kernel:  [c0140340] autoremove_wake_function+0x0/0x50
Sep 19 12:30:27 darkstar kernel:  [c0140340] autoremove_wake_function+0x0/0x50
Sep 19 12:30:27 darkstar kernel:  [c013beb0] worker_thread+0x0/0x100
Sep 19 12:30:27 darkstar kernel:  [c013fd49] kthread+0x59/0xa0
Sep 19 12:30:27 darkstar kernel:  [c013fcf0] kthread+0x0/0xa0
Sep 19 12:30:27 darkstar kernel:  [c0104fb3] kernel_thread_helper+0x7/0x14
Sep 19 12:30:27 darkstar kernel:  ===
Sep 19 12:30:27 darkstar kernel: add_conn: Failed to register connection device
Sep 19 12:41:36 darkstar kernel:  [c0104fb3] kernel_thread_helper+0x7/0x14

Marcel, how to resolve this problem?  do you have some ideas?

Regards
dave
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/