hc
2024-05-10 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb
kernel/drivers/crypto/hisilicon/qm.h
....@@ -289,14 +289,14 @@
289289 static inline int q_num_set(const char *val, const struct kernel_param *kp,
290290 unsigned int device)
291291 {
292
- struct pci_dev *pdev = pci_get_device(PCI_VENDOR_ID_HUAWEI,
293
- device, NULL);
292
+ struct pci_dev *pdev;
294293 u32 n, q_num;
295294 int ret;
296295
297296 if (!val)
298297 return -EINVAL;
299298
299
+ pdev = pci_get_device(PCI_VENDOR_ID_HUAWEI, device, NULL);
300300 if (!pdev) {
301301 q_num = min_t(u32, QM_QNUM_V1, QM_QNUM_V2);
302302 pr_info("No device found currently, suppose queue number is %d\n",
....@@ -306,6 +306,8 @@
306306 q_num = QM_QNUM_V1;
307307 else
308308 q_num = QM_QNUM_V2;
309
+
310
+ pci_dev_put(pdev);
309311 }
310312
311313 ret = kstrtou32(val, 10, &n);