Legacy driver dead lock problem

View: New views
1 Messages — Rating Filter:   Alert me  

Legacy driver dead lock problem

by clement.fab :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello

I think I found a deadlock problem in the legacy driver. It may no be of a huge interest, as there is a timeout (10 seconds) but here it is:

- In zd1205_ioctl : one of the first line is protection using down(&macp->ioctl_sem);

- if you want to "iwconfig xxx mode master" there is a time-out loop of 10 secs which will be freed when dot11Obj.bChScanning is true.

- dot11Obj.bChScanning is set to true in kevent processing,

-  kevent processing which start with a ..... down(&macp->ioctl_sem)

From a user point of view it looks like that the process configuring the driver is dead (no reaction anymore) and watchdog will kicked in.

I'am working on a patch for this.

Another point : in zd1205_ioctl_setmode , there are registers writes (AP,/AP filtering), that don't look in the right place. For me they should be setup "protectively" in update_card_settings event. Can anyone confirm? If so I'll also provide a patch.

Regards - Fab