lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 3 Jun 2009 21:49:33 +0200
From:	Francois Romieu <romieu@...zoreil.com>
To:	Nishit Shah <nsshah.82@...il.com>
Cc:	netdev@...r.kernel.org, edward_hsu@...ltek.com
Subject: Re: [PATCH] r8168: r8168 fixes

Nishit Shah <nsshah.82@...il.com> :
[...]
> The following patch fixes three r8168 bugs:

Please Cc: edward_hsu@...ltek.com when you send patches for the
out-of-tree r8168 driver.

> 1) vlan tag missing in transmit path. Due to incorrect assignment of
> transmit vlan tag option, driver is not able to transmit data on vlan
> interface.

The fix does not seem completely right either, see below.

> 2) compilation warning with rtl8168_powerup_pll if CONFIG_PM isn’t defined.
> 
> 3) compilation warning with unused variable dev in rtl8168_tx_clear.
> 
> Signed-off-by: Rajesh Modhwadiya <rajesh.modhwadiya@...tecore.com>
> Signed-off-by: Nishit Shah <nishit.shah@...tecore.com>
[...]
> --- r8168-8.011.00/src/r8168_n.c        2009-02-18 09:23:21.000000000 +0530
> +++ r8168-8.011.00-tmp/src/r8168_n.c    2009-05-15 01:40:57.000000000 +0530
> @@ -808,6 +808,8 @@
>         }
>  }
> 
> +#ifdef CONFIG_PM
> +
>  static void
>  rtl8168_powerup_pll(struct net_device *dev)  { @@ -825,6 +827,8 @@
>         rtl8168_set_speed(dev, tp->autoneg, tp->speed, tp->duplex);  }
> 
> +#endif /* CONFIG_PM */
> +
>  static void
>  rtl8168_get_wol(struct net_device *dev,
>                 struct ethtool_wolinfo *wol) @@ -4151,7 +4155,6 @@

The patch is garbled.

> rtl8168_tx_clear(struct rtl8168_private *tp)  {
>         unsigned int i;
> -       struct net_device *dev = tp->dev;
> 
>         for (i = tp->dirty_tx; i < tp->dirty_tx + NUM_TX_DESC; i++) {
>                 unsigned int entry = i % NUM_TX_DESC; @@ -4436,7 +4439,7 @@
> 
>         tp->tx_skb[entry].len = len;
>         txd->addr = cpu_to_le64(mapping);
> -       txd->opts2 = cpu_to_le32(rtl8168_tx_vlan_tag(tp, skb));
> +       opts2 |= cpu_to_le32(rtl8168_tx_vlan_tag(tp, skb));
> 
>         wmb();
[...]
        status2 = opts2;
[...]
        txd->opts2 = cpu_to_le32(status2);

txd->opts2 = cpu_to_le32( ... | cpu_to_le32(rtl8168_tx_vlan_tag(tp, skb)));

-> cpu_to_le32 twice ?

-- 
Ueimor
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ