On 01/06/2016 01:56 AM, Pingchao Yang wrote: > From: Pingchao Yang <pingchao.yang@xxxxxxxxx> > > Reported-by : Struk, Tadeusz <tadeusz.struk@xxxxxxxxx> > Signed-off-by: Yang Pingchao <pingchao.yang@xxxxxxxxx> > > --- > drivers/crypto/qat/qat_common/qat_hal.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/drivers/crypto/qat/qat_common/qat_hal.c b/drivers/crypto/qat/qat_common/qat_hal.c > index 0d0b5ed..bcb39b0 100644 > --- a/drivers/crypto/qat/qat_common/qat_hal.c > +++ b/drivers/crypto/qat/qat_common/qat_hal.c > @@ -693,14 +693,12 @@ int qat_hal_init(struct adf_accel_dev *accel_dev) > struct adf_hw_device_data *hw_data = accel_dev->hw_device; > struct adf_bar *misc_bar = > &pci_info->pci_bars[hw_data->get_misc_bar_id(hw_data)]; > - struct adf_bar *sram_bar = > - &pci_info->pci_bars[hw_data->get_sram_bar_id(hw_data)]; > + struct adf_bar *sram_bar; > > handle = kzalloc(sizeof(*handle), GFP_KERNEL); > if (!handle) > return -ENOMEM; > > - handle->hal_sram_addr_v = sram_bar->virt_addr; > handle->hal_cap_g_ctl_csr_addr_v = > (void __iomem *)((uintptr_t)misc_bar->virt_addr + > ICP_QAT_CAP_OFFSET); > @@ -714,6 +712,11 @@ int qat_hal_init(struct adf_accel_dev *accel_dev) > (void __iomem *)((uintptr_t)handle->hal_cap_ae_xfer_csr_addr_v + > LOCAL_TO_XFER_REG_OFFSET); > handle->pci_dev = pci_info->pci_dev; > + if (handle->pci_dev->device != ADF_C3XXX_PCI_DEVICE_ID) { > + sram_bar = > + &pci_info->pci_bars[hw_data->get_sram_bar_id(hw_data)]; > + handle->hal_sram_addr_v = sram_bar->virt_addr; > + } > handle->fw_auth = (handle->pci_dev->device == > ADF_DH895XCC_PCI_DEVICE_ID) ? false : true; > handle->hal_handle = kzalloc(sizeof(*handle->hal_handle), GFP_KERNEL); > Herbert, This fixes issue related to invalid BAR mapping on C3XXX device, which leads to memory corruption and kernel oops. Please include this fix into 4.5. Thanks, -- TS -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html