On Sun, Dec 01, 2024 at 06:11:20PM +0100, Johan Hovold wrote: > A recent change converting the MHI pci_generic driver to use > pcim_iomap_region() failed to update the BAR parameter which is an index > rather than a mask. > That's silly on me. Thanks for the fix! > This specifically broke the modem on machines like the Lenovo ThinkPad > X13s and x1e80100 CRD: > > mhi-pci-generic 0004:01:00.0: failed to map pci region: -22 > mhi-pci-generic 0004:01:00.0: probe with driver mhi-pci-generic failed with error -22 > > Fixes: bd23e836423e ("bus: mhi: host: pci_generic: Use pcim_iomap_region() to request and map MHI BAR") > Cc: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> > Cc: Mayank Rana <quic_mrana@xxxxxxxxxxx> > Signed-off-by: Johan Hovold <johan+linaro@xxxxxxxxxx> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> > --- > > The offending patch was marked as "Compile tested only", but that just > makes you wonder *why* the patch was never tested... > Because I didn't had a modem platform to test my change and since it was a simple API conversion, I merged it after some time. - Mani > https://lore.kernel.org/all/20241004023351.6946-1-manivannan.sadhasivam@xxxxxxxxxx/ > > Johan > > > #regzbot introduced: bd23e836423e > > > drivers/bus/mhi/host/pci_generic.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c > index 07645ce2119a..56ba4192c89c 100644 > --- a/drivers/bus/mhi/host/pci_generic.c > +++ b/drivers/bus/mhi/host/pci_generic.c > @@ -917,7 +917,7 @@ static int mhi_pci_claim(struct mhi_controller *mhi_cntrl, > return err; > } > > - mhi_cntrl->regs = pcim_iomap_region(pdev, 1 << bar_num, pci_name(pdev)); > + mhi_cntrl->regs = pcim_iomap_region(pdev, bar_num, pci_name(pdev)); > if (IS_ERR(mhi_cntrl->regs)) { > err = PTR_ERR(mhi_cntrl->regs); > dev_err(&pdev->dev, "failed to map pci region: %d\n", err); > -- > 2.45.2 > -- மணிவண்ணன் சதாசிவம்