here is what I i got it work with:
--------
static int ali_close_multi_channels(void)
{
char temp = 0;
struct pci_dev *pci_dev = NULL;
pci_dev
=pci_find_device(PCI_VENDOR_ID_AL,PCI_DEVICE_ID_AL_M1533,
pci_dev);
if (pci_dev == NULL)
return -1;
- temp = 0x80;
+ pci_read_config_byte(pci_dev, 0x59, &temp);
+ temp &= ~0x80;
- pci_write_config_byte(pci_dev, 0x59, ~temp);
+ pci_write_config_byte(pci_dev, 0x59, temp);
pci_dev = pci_find_device(PCI_VENDOR_ID_AL,
PCI_DEVICE_ID_AL_M7101, pci_dev);
if (pci_dev == NULL)
return -1;
- temp = 0x20;
+ pci_read_config_byte(pci_dev, 0xB8, &temp);
+ temp &= ~0x20
- pci_write_config_byte(pci_dev, 0xB8, ~temp); // the line I
+ pci_write_config_byte(pci_dev, 0xB8, temp); //commented out
return 0;
}
---------------------
almost as I posted before, just passing pointers to the read method.
It works, but the question as to what is this supposed to affect
remains...
should similar changes be made elsewhere in this driver? I better not
change blindly what I do not quite understand...
Fedor
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/