From: Rasesh Mody Date: Tue, 30 Aug 2011 15:27:39 +0000 (+0000) Subject: bna: Interrupt Polling and NAPI Init Changes X-Git-Tag: v3.2-rc1~129^2~325 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2be671442214402f890e367a19b5fc64cc13f878;p=pandora-kernel.git bna: Interrupt Polling and NAPI Init Changes Change details: - Remove unnecessary ccb check from bnad_poll_cq - Add bnad pointer to rx_ctrl structure, so that bnad can be accessed directly from rx_ctrl in the NAPI poll routines, even if ccb is NULL - Validate ccb before referencing to it in bnad_msix_rx and bnad_napi_poll_rx - Fix the order of NAPI init / uninit in Tx / Rx setup / teardown path: a. Kill bnad tx free tasklet ahead of call to bna_tx_destroy() b. Call NAPI disable only after call to Rx free_irq(). This makes sure Rx interrupt does not schedule a poll when NAPI is already disabled - NAPI poll runs before the h/w has completed configuration. This causes a crash. Delay enabling NAPI till after bna_rx_enable(). Split NAPI initialization into 2 steps, bnad_napi_init() & bnad_napi_enable(). Signed-off-by: Gurunatha Karaje Signed-off-by: Rasesh Mody Signed-off-by: David S. Miller --- Reading git-diff-tree failed