Hello,

The lis_pci_enable_device() defined as a direct call
of kernel pci_enable_device() function:

int  _RP lis_pci_enable_device (lis_pci_dev_t *dev)
{                                                  
    return (pci_enable_device (dev->kern_ptr));    
}                                                  
                                                   
I have noticed the following problem with that when 
used hotplug devices on 2.6.9 kernel.

The 'irq' field in the kernel pci_dev structure _can_ be reassigned
(i.e. it is assigned dynamically) by pci_enable_device()(check the source)
after removing/iserting hotplug card.
But that will not be reflected in the lis_pci_dev structure.

The fix seems rather simple, call:
 lis_map_pci_device(dev, dev->kern_ptr);
after
 pci_enable_device(dev->kern_ptr)

That will copy new values from pci_dev to lis_pci_dev structure.


I'm guessing that there might be some other LiS calls to other kernel
pci functions that would require remapping of pci_dev to lis_pci_dev.

--
Eugene


__________________________________________________________________
Switch to Netscape Internet Service.
As low as $9.95 a month -- Sign up today at http://isp.netscape.com/register

Netscape. Just the Net You Need.

New! Netscape Toolbar for Internet Explorer
Search from anywhere on the Web and block those annoying pop-ups.
Download now at http://channels.netscape.com/ns/search/install.jsp
_______________________________________________
Linux-streams mailing list
[email protected]
http://gsyc.escet.urjc.es/mailman/listinfo/linux-streams

Reply via email to