Commit 9832ce4c authored by Lisheng's avatar Lisheng Committed by David S. Miller

net: hns: set-coalesce-usecs returns errno by dsaf.ko

It may fail to set coalesce usecs to HW, and Ethtool needs to know if it
is successful to cfg the parameter or not. So it needs return the errno by
dsaf.ko.
Signed-off-by: default avatarLisheng <lisheng011@huawei.com>
Signed-off-by: default avatarYisen Zhuang <Yisen.Zhuang@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 43adc067
...@@ -469,7 +469,7 @@ struct hnae_ae_ops { ...@@ -469,7 +469,7 @@ struct hnae_ae_ops {
u32 *tx_usecs, u32 *rx_usecs); u32 *tx_usecs, u32 *rx_usecs);
void (*get_rx_max_coalesced_frames)(struct hnae_handle *handle, void (*get_rx_max_coalesced_frames)(struct hnae_handle *handle,
u32 *tx_frames, u32 *rx_frames); u32 *tx_frames, u32 *rx_frames);
void (*set_coalesce_usecs)(struct hnae_handle *handle, u32 timeout); int (*set_coalesce_usecs)(struct hnae_handle *handle, u32 timeout);
int (*set_coalesce_frames)(struct hnae_handle *handle, int (*set_coalesce_frames)(struct hnae_handle *handle,
u32 coalesce_frames); u32 coalesce_frames);
void (*set_promisc_mode)(struct hnae_handle *handle, u32 en); void (*set_promisc_mode)(struct hnae_handle *handle, u32 en);
......
...@@ -469,13 +469,13 @@ static void hns_ae_get_rx_max_coalesced_frames(struct hnae_handle *handle, ...@@ -469,13 +469,13 @@ static void hns_ae_get_rx_max_coalesced_frames(struct hnae_handle *handle,
ring_pair->port_id_in_comm); ring_pair->port_id_in_comm);
} }
static void hns_ae_set_coalesce_usecs(struct hnae_handle *handle, static int hns_ae_set_coalesce_usecs(struct hnae_handle *handle,
u32 timeout) u32 timeout)
{ {
struct ring_pair_cb *ring_pair = struct ring_pair_cb *ring_pair =
container_of(handle->qs[0], struct ring_pair_cb, q); container_of(handle->qs[0], struct ring_pair_cb, q);
(void)hns_rcb_set_coalesce_usecs( return hns_rcb_set_coalesce_usecs(
ring_pair->rcb_common, ring_pair->port_id_in_comm, timeout); ring_pair->rcb_common, ring_pair->port_id_in_comm, timeout);
} }
......
...@@ -794,8 +794,10 @@ static int hns_set_coalesce(struct net_device *net_dev, ...@@ -794,8 +794,10 @@ static int hns_set_coalesce(struct net_device *net_dev,
(!ops->set_coalesce_frames)) (!ops->set_coalesce_frames))
return -ESRCH; return -ESRCH;
ops->set_coalesce_usecs(priv->ae_handle, ret = ops->set_coalesce_usecs(priv->ae_handle,
ec->rx_coalesce_usecs); ec->rx_coalesce_usecs);
if (ret)
return ret;
ret = ops->set_coalesce_frames( ret = ops->set_coalesce_frames(
priv->ae_handle, priv->ae_handle,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment