netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net 0/4] net: hns: bugs fix about hns driver
@ 2016-03-08  3:52 Lisheng
  2016-03-08  3:52 ` [PATCH net 1/4] net: hns: fix a bug for cycle index Lisheng
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Lisheng @ 2016-03-08  3:52 UTC (permalink / raw)
  To: davem
  Cc: yisen.zhuang, yankejian, xieqianqian, huangdaode, salil.mehta,
	andriy.shevchenko, netdev, haifeng.wei, charles.chenxin, linuxarm

From: Qianqian Xie <xieqianqian@huawei.com>

There is some inappropriate application of values in hns driver,
such as cycle index, returned value, format string, useless citation.
This patch set will solve it.


Qianqian Xie (4):
  net: hns: fix a bug for cycle index
  net: hns: bug fix for format string
  net: hns: bug fix for return values
  net: hns: remove useless head=ring->next_to_clean

 drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c |  3 ++-
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c | 12 ++++++------
 drivers/net/ethernet/hisilicon/hns/hns_enet.c      |  4 +---
 drivers/net/ethernet/hisilicon/hns/hns_ethtool.c   |  4 ++--
 4 files changed, 11 insertions(+), 12 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH net 1/4] net: hns: fix a bug for cycle index
  2016-03-08  3:52 [PATCH net 0/4] net: hns: bugs fix about hns driver Lisheng
@ 2016-03-08  3:52 ` Lisheng
  2016-03-08  3:52 ` [PATCH net 2/4] net: hns: bug fix for format string Lisheng
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Lisheng @ 2016-03-08  3:52 UTC (permalink / raw)
  To: davem
  Cc: yisen.zhuang, yankejian, xieqianqian, huangdaode, salil.mehta,
	andriy.shevchenko, netdev, haifeng.wei, charles.chenxin, linuxarm

From: Qianqian Xie <xieqianqian@huawei.com>

The cycle index should be varied while the variable j is a fixed value.
The patch will fix this bug.

Signed-off-by: Qianqian Xie <xieqianqian@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c
index 7fe1c1c..4583597 100644
--- a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c
+++ b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c
@@ -2182,17 +2182,17 @@ void hns_dsaf_get_regs(struct dsaf_device *ddev, u32 port, void *data)
 	/* dsaf onode registers */
 	for (i = 0; i < DSAF_XOD_NUM; i++) {
 		p[311 + i] = dsaf_read_dev(ddev,
-				DSAF_XOD_ETS_TSA_TC0_TC3_CFG_0_REG + j * 0x90);
+				DSAF_XOD_ETS_TSA_TC0_TC3_CFG_0_REG + i * 0x90);
 		p[319 + i] = dsaf_read_dev(ddev,
-				DSAF_XOD_ETS_TSA_TC4_TC7_CFG_0_REG + j * 0x90);
+				DSAF_XOD_ETS_TSA_TC4_TC7_CFG_0_REG + i * 0x90);
 		p[327 + i] = dsaf_read_dev(ddev,
-				DSAF_XOD_ETS_BW_TC0_TC3_CFG_0_REG + j * 0x90);
+				DSAF_XOD_ETS_BW_TC0_TC3_CFG_0_REG + i * 0x90);
 		p[335 + i] = dsaf_read_dev(ddev,
-				DSAF_XOD_ETS_BW_TC4_TC7_CFG_0_REG + j * 0x90);
+				DSAF_XOD_ETS_BW_TC4_TC7_CFG_0_REG + i * 0x90);
 		p[343 + i] = dsaf_read_dev(ddev,
-				DSAF_XOD_ETS_BW_OFFSET_CFG_0_REG + j * 0x90);
+				DSAF_XOD_ETS_BW_OFFSET_CFG_0_REG + i * 0x90);
 		p[351 + i] = dsaf_read_dev(ddev,
-				DSAF_XOD_ETS_TOKEN_CFG_0_REG + j * 0x90);
+				DSAF_XOD_ETS_TOKEN_CFG_0_REG + i * 0x90);
 	}
 
 	p[359] = dsaf_read_dev(ddev, DSAF_XOD_PFS_CFG_0_0_REG + port * 0x90);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH net 2/4] net: hns: bug fix for format string
  2016-03-08  3:52 [PATCH net 0/4] net: hns: bugs fix about hns driver Lisheng
  2016-03-08  3:52 ` [PATCH net 1/4] net: hns: fix a bug for cycle index Lisheng
@ 2016-03-08  3:52 ` Lisheng
  2016-03-08  3:52 ` [PATCH net 3/4] net: hns: bug fix for return values Lisheng
  2016-03-08  3:52 ` [PATCH net 4/4] net: hns: remove useless head=ring->next_to_clean Lisheng
  3 siblings, 0 replies; 8+ messages in thread
From: Lisheng @ 2016-03-08  3:52 UTC (permalink / raw)
  To: davem
  Cc: yisen.zhuang, yankejian, xieqianqian, huangdaode, salil.mehta,
	andriy.shevchenko, netdev, haifeng.wei, charles.chenxin, linuxarm

From: Qianqian Xie <xieqianqian@huawei.com>

There is not a format string in function snprinf().
This patch will fix it.

Signed-off-by: Qianqian Xie <xieqianqian@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c
index b8517b0..d0591d9 100644
--- a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c
+++ b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c
@@ -641,7 +641,8 @@ static void hns_gmac_get_strings(u32 stringset, u8 *data)
 		return;
 
 	for (i = 0; i < ARRAY_SIZE(g_gmac_stats_string); i++) {
-		snprintf(buff, ETH_GSTRING_LEN, g_gmac_stats_string[i].desc);
+		snprintf(buff, ETH_GSTRING_LEN, "%s",
+			 g_gmac_stats_string[i].desc);
 		buff = buff + ETH_GSTRING_LEN;
 	}
 }
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH net 3/4] net: hns: bug fix for return values
  2016-03-08  3:52 [PATCH net 0/4] net: hns: bugs fix about hns driver Lisheng
  2016-03-08  3:52 ` [PATCH net 1/4] net: hns: fix a bug for cycle index Lisheng
  2016-03-08  3:52 ` [PATCH net 2/4] net: hns: bug fix for format string Lisheng
@ 2016-03-08  3:52 ` Lisheng
  2016-03-08  3:52 ` [PATCH net 4/4] net: hns: remove useless head=ring->next_to_clean Lisheng
  3 siblings, 0 replies; 8+ messages in thread
From: Lisheng @ 2016-03-08  3:52 UTC (permalink / raw)
  To: davem
  Cc: yisen.zhuang, yankejian, xieqianqian, huangdaode, salil.mehta,
	andriy.shevchenko, netdev, haifeng.wei, charles.chenxin, linuxarm

From: Qianqian Xie <xieqianqian@huawei.com>

The return values in the first two functions mdiobus_write()
are ignored. The patch will fix it.

Signed-off-by: Qianqian Xie <xieqianqian@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns/hns_ethtool.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c b/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
index 3df2284..cc5c545 100644
--- a/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
+++ b/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
@@ -1000,8 +1000,8 @@ int hns_phy_led_set(struct net_device *netdev, int value)
 	struct phy_device *phy_dev = priv->phy;
 
 	retval = phy_write(phy_dev, HNS_PHY_PAGE_REG, HNS_PHY_PAGE_LED);
-	retval = phy_write(phy_dev, HNS_LED_FC_REG, value);
-	retval = phy_write(phy_dev, HNS_PHY_PAGE_REG, HNS_PHY_PAGE_COPPER);
+	retval |= phy_write(phy_dev, HNS_LED_FC_REG, value);
+	retval |= phy_write(phy_dev, HNS_PHY_PAGE_REG, HNS_PHY_PAGE_COPPER);
 	if (retval) {
 		netdev_err(netdev, "mdiobus_write fail !\n");
 		return retval;
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH net 4/4] net: hns: remove useless head=ring->next_to_clean
  2016-03-08  3:52 [PATCH net 0/4] net: hns: bugs fix about hns driver Lisheng
                   ` (2 preceding siblings ...)
  2016-03-08  3:52 ` [PATCH net 3/4] net: hns: bug fix for return values Lisheng
@ 2016-03-08  3:52 ` Lisheng
  2016-03-08  7:18   ` Andy Shevchenko
  3 siblings, 1 reply; 8+ messages in thread
From: Lisheng @ 2016-03-08  3:52 UTC (permalink / raw)
  To: davem
  Cc: yisen.zhuang, yankejian, xieqianqian, huangdaode, salil.mehta,
	andriy.shevchenko, netdev, haifeng.wei, charles.chenxin, linuxarm

From: Qianqian Xie <xieqianqian@huawei.com>

The variable head in hns_nic_tx_fini_pro has read a value,
but the value is not used. The patch will solve it.

Signed-off-by: Qianqian Xie <xieqianqian@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns/hns_enet.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns/hns_enet.c b/drivers/net/ethernet/hisilicon/hns/hns_enet.c
index 3f77ff7..7b4ec2f 100644
--- a/drivers/net/ethernet/hisilicon/hns/hns_enet.c
+++ b/drivers/net/ethernet/hisilicon/hns/hns_enet.c
@@ -901,10 +901,8 @@ static int hns_nic_tx_poll_one(struct hns_nic_ring_data *ring_data,
 static void hns_nic_tx_fini_pro(struct hns_nic_ring_data *ring_data)
 {
 	struct hnae_ring *ring = ring_data->ring;
-	int head = ring->next_to_clean;
 
-	/* for hardware bug fixed */
-	head = readl_relaxed(ring->io_base + RCB_REG_HEAD);
+	int head = readl_relaxed(ring->io_base + RCB_REG_HEAD);
 
 	if (head != ring->next_to_clean) {
 		ring_data->ring->q->handle->dev->ops->toggle_ring_irq(
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH net 4/4] net: hns: remove useless head=ring->next_to_clean
  2016-03-08  3:52 ` [PATCH net 4/4] net: hns: remove useless head=ring->next_to_clean Lisheng
@ 2016-03-08  7:18   ` Andy Shevchenko
  2016-03-08  8:02     ` Lisheng011
  0 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2016-03-08  7:18 UTC (permalink / raw)
  To: Lisheng, davem
  Cc: yisen.zhuang, yankejian, xieqianqian, huangdaode, salil.mehta,
	netdev, haifeng.wei, charles.chenxin, linuxarm

On Tue, 2016-03-08 at 11:52 +0800, Lisheng wrote:
> From: Qianqian Xie <xieqianqian@huawei.com>
> 
> The variable head in hns_nic_tx_fini_pro has read a value,
> but the value is not used. The patch will solve it.
> 
> Signed-off-by: Qianqian Xie <xieqianqian@huawei.com>
> ---
>  drivers/net/ethernet/hisilicon/hns/hns_enet.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/drivers/net/ethernet/hisilicon/hns/hns_enet.c
> b/drivers/net/ethernet/hisilicon/hns/hns_enet.c
> index 3f77ff7..7b4ec2f 100644
> --- a/drivers/net/ethernet/hisilicon/hns/hns_enet.c
> +++ b/drivers/net/ethernet/hisilicon/hns/hns_enet.c
> @@ -901,10 +901,8 @@ static int hns_nic_tx_poll_one(struct
> hns_nic_ring_data *ring_data,
>  static void hns_nic_tx_fini_pro(struct hns_nic_ring_data *ring_data)
>  {
>  	struct hnae_ring *ring = ring_data->ring;
> -	int head = ring->next_to_clean;
>  

This empty line is a leftover, I prefer to just cut assignment.

> -	/* for hardware bug fixed */

This is not good. Explanation is needed why you removed this comment.

> -	head = readl_relaxed(ring->io_base + RCB_REG_HEAD);
> +	int head = readl_relaxed(ring->io_base + RCB_REG_HEAD);
>  
>  	if (head != ring->next_to_clean) {
>  		ring_data->ring->q->handle->dev->ops-
> >toggle_ring_irq(

-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH net 4/4] net: hns: remove useless head=ring->next_to_clean
  2016-03-08  7:18   ` Andy Shevchenko
@ 2016-03-08  8:02     ` Lisheng011
  2016-03-08  8:12       ` Andy Shevchenko
  0 siblings, 1 reply; 8+ messages in thread
From: Lisheng011 @ 2016-03-08  8:02 UTC (permalink / raw)
  To: Andy Shevchenko, davem
  Cc: yisen.zhuang, yankejian, xieqianqian, huangdaode, salil.mehta,
	netdev, haifeng.wei, charles.chenxin, linuxarm



在 2016/3/8 15:18, Andy Shevchenko 写道:
> On Tue, 2016-03-08 at 11:52 +0800, Lisheng wrote:
>> From: Qianqian Xie <xieqianqian@huawei.com>
>>
>> The variable head in hns_nic_tx_fini_pro has read a value,
>> but the value is not used. The patch will solve it.
>>
>> Signed-off-by: Qianqian Xie <xieqianqian@huawei.com>
>> ---
>>   drivers/net/ethernet/hisilicon/hns/hns_enet.c | 4 +---
>>   1 file changed, 1 insertion(+), 3 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/hisilicon/hns/hns_enet.c
>> b/drivers/net/ethernet/hisilicon/hns/hns_enet.c
>> index 3f77ff7..7b4ec2f 100644
>> --- a/drivers/net/ethernet/hisilicon/hns/hns_enet.c
>> +++ b/drivers/net/ethernet/hisilicon/hns/hns_enet.c
>> @@ -901,10 +901,8 @@ static int hns_nic_tx_poll_one(struct
>> hns_nic_ring_data *ring_data,
>>   static void hns_nic_tx_fini_pro(struct hns_nic_ring_data *ring_data)
>>   {
>>   	struct hnae_ring *ring = ring_data->ring;
>> -	int head = ring->next_to_clean;
>>   
> This empty line is a leftover, I prefer to just cut assignment.

Yeah,  the empty line does not be needed. I'll remove it. thx.



>> -	/* for hardware bug fixed */
> This is not good. Explanation is needed why you removed this comment.

This bug-fixed comment is for the function pointer 
ring_data->fini_process,that is called in function hns_nic_common_poll.
The comment should not be here, so remove it.


>> -	head = readl_relaxed(ring->io_base + RCB_REG_HEAD);
>> +	int head = readl_relaxed(ring->io_base + RCB_REG_HEAD);
>>   
>>   	if (head != ring->next_to_clean) {
>>   		ring_data->ring->q->handle->dev->ops-
>>> toggle_ring_irq(

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH net 4/4] net: hns: remove useless head=ring->next_to_clean
  2016-03-08  8:02     ` Lisheng011
@ 2016-03-08  8:12       ` Andy Shevchenko
  0 siblings, 0 replies; 8+ messages in thread
From: Andy Shevchenko @ 2016-03-08  8:12 UTC (permalink / raw)
  To: Lisheng011, davem
  Cc: yisen.zhuang, yankejian, xieqianqian, huangdaode, salil.mehta,
	netdev, haifeng.wei, charles.chenxin, linuxarm

On Tue, 2016-03-08 at 16:02 +0800, Lisheng011 wrote:
> 
> 在 2016/3/8 15:18, Andy Shevchenko 写道:
> > 
> > On Tue, 2016-03-08 at 11:52 +0800, Lisheng wrote:
> > > 
> > > From: Qianqian Xie <xieqianqian@huawei.com>
> > > 
> > > The variable head in hns_nic_tx_fini_pro has read a value,
> > > but the value is not used. The patch will solve it.


> -	/* for hardware bug fixed */
> > This is not good. Explanation is needed why you removed this
> > comment.

> This bug-fixed comment is for the function pointer 
> ring_data->fini_process,that is called in function
> hns_nic_common_poll.


> The comment should not be here, so remove it.

Please, add above paragraph to the commit message.

-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-03-08  8:11 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-08  3:52 [PATCH net 0/4] net: hns: bugs fix about hns driver Lisheng
2016-03-08  3:52 ` [PATCH net 1/4] net: hns: fix a bug for cycle index Lisheng
2016-03-08  3:52 ` [PATCH net 2/4] net: hns: bug fix for format string Lisheng
2016-03-08  3:52 ` [PATCH net 3/4] net: hns: bug fix for return values Lisheng
2016-03-08  3:52 ` [PATCH net 4/4] net: hns: remove useless head=ring->next_to_clean Lisheng
2016-03-08  7:18   ` Andy Shevchenko
2016-03-08  8:02     ` Lisheng011
2016-03-08  8:12       ` Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).