On Mon, 2014-01-20 at 16:47 +0000, Ian Abbott wrote: > based on upstream commit 0283f7a100882684ad32b768f9f1ad81658a0b92 > > At some point, Measurement Computing / ComputerBoards redesigned the > PCI-DIO48H to use a PLX PCI interface chip instead of an AMCC chip. > This meant they had to put their hardware registers in the PCI BAR 2 > region instead of PCI BAR 1. Unfortunately, they kept the same PCI > device ID for the new design. This means the driver recognizes the > newer cards, but doesn't work (and is likely to screw up the local > configuration registers of the PLX chip) because it's using the wrong > region. > > Since all the supported boards have the DIO registers in the PCI BAR 2 > region except for older PCI-DIO48H boards which have an empty PCI BAR 2 > region and the DIO registers in PCI BAR 1, determine which PCI BAR > region to use based on whether the PCI BAR 2 region is empty or not. > > This change makes the `dioregs_badrindex` member of `struct > pcidio_board` redundant. The `pcicontroler_badrindex` member is also > unused, so remove both members. > > Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> > Cc: kernel-team@xxxxxxxxxxxxxxxx > --- > Applies to stable kernels 2.6.32.y through to 3.2.y. > > Note that other changes make this patch somewhat different to the > upstream commit, but it fixes the same problem. [...] Queued up for 3.2, thanks. Ben. -- Ben Hutchings If at first you don't succeed, you're doing about average.
Attachment:
signature.asc
Description: This is a digitally signed message part