diff --git a/drivers/media/platform/msm/vidc/venus_hfi.c b/drivers/media/platform/msm/vidc/venus_hfi.c index def431d49dfb0..75f16b6ea901f 100644 --- a/drivers/media/platform/msm/vidc/venus_hfi.c +++ b/drivers/media/platform/msm/vidc/venus_hfi.c @@ -4774,7 +4774,8 @@ static void __venus_power_off(struct venus_hfi_device *device, bool axi_reset) disable_irq_nosync(device->hal_data->irq); device->intr_status = 0; - version = __read_register(device, VIDC_WRAPPER_HW_VERSION); + if (axi_reset) + version = __read_register(device, VIDC_WRAPPER_HW_VERSION); if (axi_reset) version = __read_register(device, VIDC_WRAPPER_HW_VERSION); diff --git a/drivers/misc/qseecom.c b/drivers/misc/qseecom.c index bfede3b686acf..782efee718e55 100644 --- a/drivers/misc/qseecom.c +++ b/drivers/misc/qseecom.c @@ -6881,9 +6881,11 @@ static int __qseecom_update_qteec_req_buf(struct qseecom_qteec_modfd_req *req, for (i = 0; i < MAX_ION_FD; i++) { if (req->ifd_data[i].fd > 0) { ion_fd = req->ifd_data[i].fd; - if ((req->req_len < sizeof(uint32_t)) || + if ((req->req_len < + sizeof(struct qseecom_param_memref)) || (req->ifd_data[i].cmd_buf_offset > - req->req_len - sizeof(uint32_t))) { + req->req_len - + sizeof(struct qseecom_param_memref))) { pr_err("Invalid offset/req len 0x%x/0x%x\n", req->req_len, req->ifd_data[i].cmd_buf_offset); diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c index 4f95fe8f25c40..f330ae77bfbea 100644 --- a/drivers/pci/pci-driver.c +++ b/drivers/pci/pci-driver.c @@ -855,6 +855,9 @@ static int pci_pm_resume(struct device *dev) const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; int error = 0; + if (pci_dev->no_d3hot) + goto skip_pci_pm_restore; + /* * This is necessary for the suspend error path in which resume is * called without restoring the standard config registers of the device. @@ -862,6 +865,7 @@ static int pci_pm_resume(struct device *dev) if (pci_dev->state_saved) pci_restore_standard_config(pci_dev); +skip_pci_pm_restore: if (pci_has_legacy_pm_support(pci_dev)) return pci_legacy_resume(dev);