]> git.karo-electronics.de Git - linux-beck.git/commitdiff
staging: octeon: disable rx interrupts in oct_rx_shutdown
authorAaro Koskinen <aaro.koskinen@iki.fi>
Wed, 31 Aug 2016 20:57:36 +0000 (23:57 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 2 Sep 2016 12:46:53 +0000 (14:46 +0200)
Disable RX interrupts in oct_rx_shutdown(). This way we don't need to
expose the RX IRQ numbers outside the RX module.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/octeon/ethernet-rx.c
drivers/staging/octeon/ethernet.c

index a10fe3af9a9ce8e00d59c0620eac5acd91adc541..5b26f2a76a401ffd7a069fc2fd9d2033d2bb8843 100644 (file)
@@ -495,5 +495,14 @@ void cvm_oct_rx_initialize(void)
 
 void cvm_oct_rx_shutdown(void)
 {
+       /* Disable POW interrupt */
+       if (OCTEON_IS_MODEL(OCTEON_CN68XX))
+               cvmx_write_csr(CVMX_SSO_WQ_INT_THRX(pow_receive_group), 0);
+       else
+               cvmx_write_csr(CVMX_POW_WQ_INT_THRX(pow_receive_group), 0);
+
+       /* Free the interrupt handler */
+       free_irq(OCTEON_IRQ_WORKQ0 + pow_receive_group, cvm_oct_device);
+
        netif_napi_del(&cvm_oct_napi);
 }
index 073a1e335fe4269756e1506668a18cf75641c223..1e2e1efadb7b54c133609b3861cdb53a8ded6e4d 100644 (file)
@@ -853,17 +853,8 @@ static int cvm_oct_remove(struct platform_device *pdev)
 {
        int port;
 
-       /* Disable POW interrupt */
-       if (OCTEON_IS_MODEL(OCTEON_CN68XX))
-               cvmx_write_csr(CVMX_SSO_WQ_INT_THRX(pow_receive_group), 0);
-       else
-               cvmx_write_csr(CVMX_POW_WQ_INT_THRX(pow_receive_group), 0);
-
        cvmx_ipd_disable();
 
-       /* Free the interrupt handler */
-       free_irq(OCTEON_IRQ_WORKQ0 + pow_receive_group, cvm_oct_device);
-
        atomic_inc_return(&cvm_oct_poll_queue_stopping);
        cancel_delayed_work_sync(&cvm_oct_rx_refill_work);