lkml.org 
[lkml]   [2016]   [Sep]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 016/192] [PATCH 016/135] e1000e: fix division by zero on jumbo MTUs
    Date
    4.4-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    [ Upstream commit b77ac46bbae862dcb3f51296825c940404c69b0f ]

    This patch fixes possible division by zero in receive
    interrupt handler when working without adaptive interrupt
    moderation.

    The adaptive interrupt moderation mechanism is typically
    disabled on jumbo MTUs.

    Signed-off-by: Dmitry Fleytman <dmitry@daynix.com>
    Signed-off-by: Leonid Bloch <leonid@daynix.com>
    Tested-by: Aaron Brown <aaron.f.brown@intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/ethernet/intel/e1000e/netdev.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    --- a/drivers/net/ethernet/intel/e1000e/netdev.c
    +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
    @@ -1959,8 +1959,10 @@ static irqreturn_t e1000_intr_msix_rx(in
    * previous interrupt.
    */
    if (rx_ring->set_itr) {
    - writel(1000000000 / (rx_ring->itr_val * 256),
    - rx_ring->itr_register);
    + u32 itr = rx_ring->itr_val ?
    + 1000000000 / (rx_ring->itr_val * 256) : 0;
    +
    + writel(itr, rx_ring->itr_register);
    rx_ring->set_itr = 0;
    }


    \
     
     \ /
      Last update: 2016-09-17 09:59    [W:4.921 / U:0.192 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site