The function device_alloc_rx_buf takes struct vnt_rx_desc as 1 argument, but only accesses the member rd_info of this struct. Change this argument to struct vnt_rd_info instead. This is preparation to implement correct out-of-memory error handling. Signed-off-by: Nam Cao <namcaov@xxxxxxxxx> --- drivers/staging/vt6655/device_main.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/drivers/staging/vt6655/device_main.c b/drivers/staging/vt6655/device_main.c index 27fe28156257..ca6c4266f010 100644 --- a/drivers/staging/vt6655/device_main.c +++ b/drivers/staging/vt6655/device_main.c @@ -132,7 +132,7 @@ static int device_init_td1_ring(struct vnt_private *priv); static int device_rx_srv(struct vnt_private *priv, unsigned int idx); static int device_tx_srv(struct vnt_private *priv, unsigned int idx); -static bool device_alloc_rx_buf(struct vnt_private *, struct vnt_rx_desc *); +static bool device_alloc_rx_buf(struct vnt_private *, struct vnt_rd_info *); static void device_init_rx_desc(struct vnt_private *priv, struct vnt_rx_desc *rd); static void device_free_rx_buf(struct vnt_private *priv, struct vnt_rx_desc *rd); @@ -612,7 +612,7 @@ static int device_init_rd0_ring(struct vnt_private *priv) goto err_free_desc; } - if (!device_alloc_rx_buf(priv, desc)) { + if (!device_alloc_rx_buf(priv, desc->rd_info)) { dev_err(&priv->pcid->dev, "can not alloc rx bufs\n"); ret = -ENOMEM; goto err_free_rd; @@ -660,7 +660,7 @@ static int device_init_rd1_ring(struct vnt_private *priv) goto err_free_desc; } - if (!device_alloc_rx_buf(priv, desc)) { + if (!device_alloc_rx_buf(priv, desc->rd_info)) { dev_err(&priv->pcid->dev, "can not alloc rx bufs\n"); ret = -ENOMEM; goto err_free_rd; @@ -839,7 +839,7 @@ static int device_rx_srv(struct vnt_private *priv, unsigned int idx) vnt_receive_frame(priv, rd); - if (!device_alloc_rx_buf(priv, rd)) { + if (!device_alloc_rx_buf(priv, rd->rd_info)) { dev_err(&priv->pcid->dev, "can not allocate rx buf\n"); break; @@ -856,10 +856,8 @@ static int device_rx_srv(struct vnt_private *priv, unsigned int idx) } static bool device_alloc_rx_buf(struct vnt_private *priv, - struct vnt_rx_desc *rd) + struct vnt_rd_info *rd_info) { - struct vnt_rd_info *rd_info = rd->rd_info; - rd_info->skb = dev_alloc_skb((int)priv->rx_buf_sz); if (!rd_info->skb) return false; -- 2.25.1