drivers/scsi/snic/vnic_dev.c | 9 --------- 1 file changed, 9 deletions(-)
The (struct vnic_dev).linkstatus buffer is freed in
svnic_dev_unregister() and referenced in svnic_dev_link_status() but
never alloc'd. This means (struct vnic_dev).linkstatus is always null
and the dealloc the reference in svnic_dev_link_status() is dead code.
Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com>
---
drivers/scsi/snic/vnic_dev.c | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/drivers/scsi/snic/vnic_dev.c b/drivers/scsi/snic/vnic_dev.c
index 760f3f22095c..c4df0b17c86c 100644
--- a/drivers/scsi/snic/vnic_dev.c
+++ b/drivers/scsi/snic/vnic_dev.c
@@ -42,8 +42,6 @@ struct vnic_dev {
struct vnic_devcmd_notify *notify;
struct vnic_devcmd_notify notify_copy;
dma_addr_t notify_pa;
- u32 *linkstatus;
- dma_addr_t linkstatus_pa;
struct vnic_stats *stats;
dma_addr_t stats_pa;
struct vnic_devcmd_fw_info *fw_info;
@@ -650,8 +648,6 @@ int svnic_dev_init(struct vnic_dev *vdev, int arg)
int svnic_dev_link_status(struct vnic_dev *vdev)
{
- if (vdev->linkstatus)
- return *vdev->linkstatus;
if (!vnic_dev_notify_ready(vdev))
return 0;
@@ -686,11 +682,6 @@ void svnic_dev_unregister(struct vnic_dev *vdev)
sizeof(struct vnic_devcmd_notify),
vdev->notify,
vdev->notify_pa);
- if (vdev->linkstatus)
- dma_free_coherent(&vdev->pdev->dev,
- sizeof(u32),
- vdev->linkstatus,
- vdev->linkstatus_pa);
if (vdev->stats)
dma_free_coherent(&vdev->pdev->dev,
sizeof(struct vnic_stats),
--
2.43.0
On Mon, 16 Feb 2026 15:10:55 +0100, Thomas Fourier wrote:
> The (struct vnic_dev).linkstatus buffer is freed in
> svnic_dev_unregister() and referenced in svnic_dev_link_status() but
> never alloc'd. This means (struct vnic_dev).linkstatus is always null
> and the dealloc the reference in svnic_dev_link_status() is dead code.
>
>
Applied to 7.0/scsi-fixes, thanks!
[1/1] scsi: snic: Remove unused linkstatus
https://git.kernel.org/mkp/scsi/c/af3973e7b4fd
--
Martin K. Petersen
Thomas, > The (struct vnic_dev).linkstatus buffer is freed in > svnic_dev_unregister() and referenced in svnic_dev_link_status() but > never alloc'd. This means (struct vnic_dev).linkstatus is always null > and the dealloc the reference in svnic_dev_link_status() is dead code. Applied to 7.0/scsi-staging, thanks! -- Martin K. Petersen
© 2016 - 2026 Red Hat, Inc.