Re: [PATCH 4/5] staging: rtl8192e: Remove unused local variable irq_line

From: Philipp Hortmann
Date: Fri Apr 07 2023 - 04:09:05 EST


On 4/6/23 22:06, Greg Kroah-Hartman wrote:
On Wed, Apr 05, 2023 at 11:48:20PM +0200, Philipp Hortmann wrote:
Remove unused local variable irq_line.

Signed-off-by: Philipp Hortmann <philipp.g.hortmann@xxxxxxxxx>
---
drivers/staging/rtl8192e/rtl8192e/rtl_pci.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_pci.c b/drivers/staging/rtl8192e/rtl8192e/rtl_pci.c
index 0bc3e013001e..1c3ccd2aabc3 100644
--- a/drivers/staging/rtl8192e/rtl8192e/rtl_pci.c
+++ b/drivers/staging/rtl8192e/rtl8192e/rtl_pci.c
@@ -33,11 +33,9 @@ bool rtl92e_check_adapter(struct pci_dev *pdev, struct net_device *dev)
struct r8192_priv *priv = (struct r8192_priv *)rtllib_priv(dev);
u16 device_id;
u8 revision_id;
- u16 irq_line;
device_id = pdev->device;
revision_id = pdev->revision;
- pci_read_config_word(pdev, 0x3C, &irq_line);

As was pointed out, that might not be "unused".

When doing a PCI write, the only way to know it has completed is to
issue a read. Are you sure this isn't a read that is flushing out a
pending write? Look at who calls this function and verify that this
read really is safe to remove and then document that really really well
in the changelog text when doing so.

Be careful about removing seemingly-unused PCI read/writes, they often
times are actually needed.

thanks,

greg k-h

Hi,

The first function that is called of the driver is: _rtl92e_pci_probe().
66 Lines later the function rtl92e_check_adapter() is called. The line
pci_read_config_word() is the 10th line of this function.

No other pci function before in function rtl92e_check_adapter().

The following functions are used in the probe function before the
rtl92e_check_adapter():

pci_enable_device() Does not require a pci read.
pci_set_master() Does not require a pci read.
dma_set_mask() Does not require a pci read.
alloc_rtllib() Does not require a pci read.
pci_set_drvdata() Does not require a pci read.
SET_NETDEV_DEV() Does not require a pci read.
rtllib_priv() Does not require a pci read.
pci_resource_start() Does not require a pci read.
pci_resource_len() Does not require a pci read.
pci_resource_flags() Does not require a pci read.
request_mem_region() Does not require a pci read.
ioremap() Does not require a pci read.
pci_resource_len() Does not require a pci read.
pci_read_config_byte() Which is deleted in this
patch series. So Gregs hint is
applicable for this patch as well.

I am going to issue a v2.

Thanks for your support.

Bye Philipp