Bug 161810

Summary: modules.pcimap handling broken
Product: Red Hat Enterprise Linux 4 Reporter: Bill Nottingham <notting>
Component: kudzuAssignee: Bill Nottingham <notting>
Status: CLOSED ERRATA QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.0CC: rvokal
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: RHBA-2005-667 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-10-05 16:57:51 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: 146213    
Bug Blocks: 156322    

Description Bill Nottingham 2005-06-27 15:20:52 UTC
+++ This bug was initially created as a clone of Bug #146213 +++

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 2 Bill Nottingham 2005-07-13 01:49:25 UTC
Fixed in 1.1.95.13-1.

Comment 6 Red Hat Bugzilla 2005-10-05 16:57:51 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2005-667.html