From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1161071AbcFCQrL (ORCPT ); Fri, 3 Jun 2016 12:47:11 -0400 Received: from devils.ext.ti.com ([198.47.26.153]:46267 "EHLO devils.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752890AbcFCQrJ (ORCPT ); Fri, 3 Jun 2016 12:47:09 -0400 Subject: Re: [PATCH] net: ethernet: ti: cpsw: fix rx-usecs interrupt pacing consistency To: Ivan Khoronzhuk , , References: <1464873292-17011-1-git-send-email-ivan.khoronzhuk@linaro.org> <575034D8.4040500@linaro.org> CC: , From: Grygorii Strashko Message-ID: <5751B489.9070809@ti.com> Date: Fri, 3 Jun 2016 19:47:05 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: <575034D8.4040500@linaro.org> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 06/02/2016 04:30 PM, Ivan Khoronzhuk wrote: > On 02.06.16 16:14, Ivan Khoronzhuk wrote: >> The rx-usecs shouldn't be changed while interface down/up. >> Currently, for instance, if it's set to 100us, after interface >> down/up it's 500us. It's a hidden bug that can lead to lavish >> interrupt pacing time increasing while "down/up" up to max value. >> >> Steps to reproduce: >> - set rx-usecs to be 100us >> - down/up interface >> - read new unexpected rx-usecs >> >> Signed-off-by: Ivan Khoronzhuk >> --- >> >> Based on ti-linux-4.4.y > Please ignore this line, it's added by mistake. > The patch is based on master. > Reviewed-by: Grygorii Strashko > >> >> drivers/net/ethernet/ti/cpsw.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/net/ethernet/ti/cpsw.c >> b/drivers/net/ethernet/ti/cpsw.c >> index 7b44587..9919cb3 100644 >> --- a/drivers/net/ethernet/ti/cpsw.c >> +++ b/drivers/net/ethernet/ti/cpsw.c >> @@ -1352,7 +1352,7 @@ static int cpsw_ndo_open(struct net_device *ndev) >> if (priv->coal_intvl != 0) { >> struct ethtool_coalesce coal; >> >> - coal.rx_coalesce_usecs = (priv->coal_intvl << 4); >> + coal.rx_coalesce_usecs = priv->coal_intvl; >> cpsw_set_coalesce(ndev, &coal); >> } >> >> > -- regards, -grygorii