[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0835B3720019904CB8F7AA43166CEEB2F18D04FF@RTITMBSVM03.realtek.com.tw>
Date: Wed, 7 Aug 2019 04:34:24 +0000
From: Hayes Wang <hayeswang@...ltek.com>
To: Jakub Kicinski <jakub.kicinski@...ronome.com>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
nic_swsd <nic_swsd@...ltek.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>
Subject: RE: [PATCH net-next 4/5] r8152: support skb_add_rx_frag
Jakub Kicinski [mailto:jakub.kicinski@...ronome.com]
> Sent: Wednesday, August 07, 2019 6:08 AM
[...]
> > #define RTL8152_REQT_READ 0xc0
> > @@ -720,7 +723,7 @@ struct r8152 {
> > struct net_device *netdev;
> > struct urb *intr_urb;
> > struct tx_agg tx_info[RTL8152_MAX_TX];
> > - struct list_head rx_info;
> > + struct list_head rx_info, rx_used;
>
> I don't see where entries on the rx_used list get freed when driver is
> unloaded, could you explain how that's taken care of?
When the driver is unloaded, all rx_agg would be freed from
info_list list.
The info_list includes all rx_agg buffers which may be idle
or be busy. The rx_done and rx_use are used to determine
the status of rx_agg buffer included in info_list.
info_list: the rx_agg buffer would be inserted in this list
when it is allocated.
rx_done: the rx_agg buffer is ready (contains rx data). Or
it needs to be resubmitted.
rx_use: the rx_agg buffer is busy and couldn't be submitted
yet.
Best Regards,
Hayes
Powered by blists - more mailing lists