Messages in this thread | | | From | "Allen Hubbe" <> | Subject | RE: [BUG] ntb: Sleep in interrupt handling | Date | Thu, 1 Jun 2017 09:00:32 -0400 |
| |
From: Jia-Ju Bai > According to ntb_transport.c, the driver may sleep in interrupt handling. > The function call path is: > ntb_transport_rxc_db (tasklet_init indicates it handles interrupt) > ntb_process_rxc > ntb_async_rx > ntb_async_rx_submit > schedule_timeout --> may sleep > > This bug is found by my static analysis tool and my code review. > I hope to fix it, but I do not have a good solution.
Thanks! There is a recovery path if ntb_async_tx_submit fails. It will do the transmission with memcpy instead of dma. So, rather than retry in ntb_async_tx_submit, just fail to the recovery path. Basically, replace the whole for(retries) loop with just txd = prep(); Would you like to work on the patch?
> > Thanks, > Jia-Ju Bai
| |