I tried move it earlyer, but without success: static int __devinit pluto2_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { struct pluto *pluto; struct dvb_adapter *dvb_adapter; struct dvb_demux *dvbdemux; struct dmx_demux *dmx; int ret = -ENOMEM; u32 hodnota; pluto = kmalloc(sizeof(struct pluto), GFP_KERNEL); if (!pluto) goto out; memset(pluto, 0, sizeof(struct pluto)); pluto->pdev = pdev; pci_read_config_dword(pluto->pdev, 0x6c, &hodnota); hodnota |= 0x8000; pci_write_config_dword(pluto->pdev, 0x6c, hodnota); ----- I still gets: PCI: Enabling device 0000:03:00.0 (0000 -> 0002) ACPI: PCI interrupt 0000:03:00.0[A] -> GSI 10 (level, low) -> IRQ 10 PCI: Setting latency timer of device 0000:03:00.0 to 64 pluto2 0000:03:00.0: overflow irq (1) many of these... DVB: registering new adapter (pluto2). pluto2 0000:03:00.0: board revision 15.255 pluto2 0000:03:00.0: MAC ff:ff:ff:ff:ff:ff still many of these... pluto2 0000:03:00.0: overflow irq (1) pluto2 0000:03:00.0: overflow irq (1) pluto2 0000:03:00.0: overflow irq (1) pluto2 0000:03:00.0: overflow irq (1) Michal Dne so 23. dubna 2005 14:40 jste napsal(a): > Hi Michal, > > On Fri, 2005-04-22 at 19:20 +0200, Michal Semler wrote: > > I used printk lines to find where problems occurs in pluto2.ko: > > > > it is in function: > > pluto_enable_irqs(struct pluto *pluto) > > in line: > > pci_write_config_dword(pluto->pdev, 0x6c, 0x8000); > > without this the host won't receive any interrupts from the card. You > can try setting this value earlier (the old driver used setpci in a > start script before loading the module). > Another possibility is that the value should be ORed. Try > read_config_dword, val |= 0x8000, write_config_dword. > > Regards, > Andreas -- S pozdravem Michal Semler