2009-04-14 12:02:32     schedule_work, always pending

Document created by Aaronwu Employee on Aug 14, 2013
Version 1Show Document
  • View in full screen mode

2009-04-14 12:02:32     schedule_work, always pending

Sergey Kuznetsov (RUSSIAN FEDERATION)

Message: 72642   

 

Hi All.

 

I`ve got a problem which cannot resolve. I`m using schedule_work in my interrupt handler to do the needed work out of the irq. I made INIT_WORK in probe() of the driver. When the interrupt occure-nothing happens. If I use it anywhere else - work goes. Work function is never reached in irq, my printk shows nothing.

 

I`ve read about work_ in LDD3 and elsewhere, I`ve tried clearing pending bit. If I clear it I got a BUG in a workqueue.h in queue_work_on.

 

So my question is what are the possible reasons for work to be pending always?

 

Thank you!

QuoteReplyEditDelete

 

 

2009-04-16 00:17:20     Re: schedule_work, always pending

Yi Li (CHINA)

Message: 72721   

 

Sergey,

 

This is a general linux kernel programming issue, not related to blackfin. You may ask somewhere else.

 

-Yi

QuoteReplyEditDelete

 

 

2009-04-16 01:33:19     Re: schedule_work, always pending

Sergey Kuznetsov (RUSSIAN FEDERATION)

Message: 72722   

 

Thank you, Yi.

 

I`ve found some similarities with errors some people find in gcc-4.3, I`ll try to upgrade. If I will be lucky-I`ll tell.

 

Greets,

 

Sergey

Attachments

    Outcomes