From: Yisen Zhuang <[email protected]>
Date: Mon, 21 Mar 2016 19:06:37 +0800
> diff --git a/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
> b/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
> index 3c4a3bc..f3a5e05 100644
> --- a/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
> +++ b/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
...
> @@ -1235,12 +1226,11 @@ hns_set_rss(struct net_device *netdev, const u32
> *indir, const u8 *key,
> {
> struct hns_nic_priv *priv = netdev_priv(netdev);
> struct hnae_ae_ops *ops;
> - int ret;
>
> if (AE_IS_VER1(priv->enet_ver)) {
> netdev_err(netdev,
> "RSS feature is not supported on this hardware\n");
> - return -EOPNOTSUPP;
> + return (u32)-EOPNOTSUPP;
> }
>
This is incredibly broken, you cannot cast this negative error return value to
an unsigned integer.