在 2021/6/30 下午4:21, Zhu Lingshan 写道:
ifcvf_vdpa_set_status() should get a adapter from the
management device
Signed-off-by: Zhu Lingshan <lingshan.zhu@xxxxxxxxx>
---
drivers/vdpa/ifcvf/ifcvf_main.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c b/drivers/vdpa/ifcvf/ifcvf_main.c
index 7c2f64ca2163..28c71eef1d2b 100644
--- a/drivers/vdpa/ifcvf/ifcvf_main.c
+++ b/drivers/vdpa/ifcvf/ifcvf_main.c
@@ -212,13 +212,15 @@ static u8 ifcvf_vdpa_get_status(struct vdpa_device *vdpa_dev)
static void ifcvf_vdpa_set_status(struct vdpa_device *vdpa_dev, u8 status)
{
+ struct ifcvf_vdpa_mgmt_dev *ifcvf_mgmt_dev;
struct ifcvf_adapter *adapter;
struct ifcvf_hw *vf;
u8 status_old;
int ret;
vf = vdpa_to_vf(vdpa_dev);
- adapter = dev_get_drvdata(vdpa_dev->dev.parent);
If this is a fix for patch 2, you need to squash this into that one.
Any reason that vdpa_to_adapter() can't work?
And I see:
+struct ifcvf_vdpa_mgmt_dev {
+ struct vdpa_mgmt_dev mdev;
+ struct ifcvf_adapter *adapter;
+ struct pci_dev *pdev;
+};
What's the reason for having a adapter pointer here?
Thanks
+ ifcvf_mgmt_dev = dev_get_drvdata(vdpa_dev->dev.parent);
+ adapter = ifcvf_mgmt_dev->adapter;
status_old = ifcvf_get_status(vf);
if (status_old == status)