On 22/11/2022 02:58, Andrew Lunn wrote: > On Mon, Nov 21, 2022 at 04:22:57PM +0200, Roger Quadros wrote: >> The set channel operation "ethtool -L tx <n>" broke with >> the recent suspend/resume changes. >> >> Revert back to original driver behaviour of not freeing >> the TX/RX IRQs at am65_cpsw_nuss_common_stop(). We will >> now free them only on .suspend() as we need to release >> the DMA channels (as DMA looses context) and re-acquiring >> them on .resume() may not necessarily give us the same >> IRQs. >> >> Introduce am65_cpsw_nuss_remove_rx_chns() which is similar >> to am65_cpsw_nuss_remove_tx_chns() and invoke them both in >> .suspend(). >> >> At .resume() call am65_cpsw_nuss_init_rx/tx_chns() to >> acquire the DMA channels. >> >> To as IRQs need to be requested after knowing the IRQ >> numbers, move am65_cpsw_nuss_ndev_add_tx_napi() call to >> am65_cpsw_nuss_init_tx_chns(). > > It is probably easier to review if you first do a revert and then add > the new code to make suspend/resume work. Thanks! This will make it much easier to review. > > Andrew cheers, -roger