Bug 146213

Summary: modules.pcimap handling broken
Product: [Fedora] Fedora Reporter: Brian Gerst <brgerst>
Component: kudzuAssignee: Bill Nottingham <notting>
Status: CLOSED RAWHIDE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: rvokal
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 1.1.113-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-04-22 22:11:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 136451, 161810    

Description Brian Gerst 2005-01-26 00:34:11 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5)
Gecko/20041228 Firefox/1.0 Fedora/1.0-8

Description of problem:
I have discovered the reason why the nvidia driver doesn't autoload
properly at bootup, like any other PCI device should.  Kudzu's
handling of modules.pcimap doesn't match the kernel's algorithm. 
Specifically, Kudzu doesn't handle the case where a vendor is defined
but device is PCI_ANY_ID (0xffffffff).  It also totally ignores the
class and class_mask.  I added another device entry for my specific
card, and then kmodule properly reported "VIDEO nvidia".

# pci module         vendor     device     subvendor  subdevice  class
     class_mask driver_data
nvidia               0x000010de 0xffffffff 0xffffffff 0xffffffff
0x00030000 0xffffffff 0x0
nvidia               0x000010de 0x00000140 0xffffffff 0xffffffff
0x00000000 0x00000000 0x0

This problem isn't specific to the nvidia driver.  Any PCI device can
legitamately (by the kernel definition) use such a construct.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
Use a kernel module which defines a PCI vendor and class, but no
specific device.    

Actual Results:  kmodule did not discover the device.

Expected Results:  kmodule returns the proper driver module for the
device.

Additional info:

Comment 1 Bill Nottingham 2005-04-22 22:11:50 UTC
Added in 1.1.112-1.

Comment 2 Bill Nottingham 2005-04-22 22:26:57 UTC
Oops, 1.1.113-1.