Subject: "sky2: set VPD size" triggers card recognition failure

From: Andy Whitcroft <[email-masked]>
Date: Thu, 11 Jun 2009 13:29:42 +0100

We have reports[1] of sky2 cards failing to be recognised with the latest
2.6.30-rc8 kernels.  We are seeing what appears to be failures to
obtains the chip id correctly:

    sky2 driver version 1.22
    sky2 0000:02:00.0: enabling device (0000 -> 0003)
    sky2 0000:02:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
    sky2 0000:02:00.0: setting latency timer to 64
    sky2 0000:02:00.0: Can't set VPD size
    sky2 0000:02:00.0: unsupported chip type 0xff
    sky2 0000:02:00.0: PCI INT A disabled
    sky2: probe of 0000:02:00.0 failed with error -95

Based on the VPD size failure message we reverted just the commit below,
which restored the card:

    commit 3834507d0c5480a0f05486c2fb57ed18fd179a83
    Author: Stephen Hemminger <[email-masked]>
    Date:   Tue Feb 3 11:27:30 2009 +0000

	sky2: set VPD size
	
	Read configuration register during probe and use it to size the
	available VPD. Move existing code using same register slightly
	earlier in probe handling.
	
	Signed-off-by: Stephen Hemminger <[email-masked]>
	Signed-off-by: David S. Miller <[email-masked]>

Steven, any thoughts?

-apw

[1] https://www.launchpad.net/bugs/384403