Bug 14603 - Commit 4ae0ff606 break probing of cardbus
Summary: Commit 4ae0ff606 break probing of cardbus
Status: CLOSED CODE_FIX
Alias: None
Product: Platform Specific/Hardware
Classification: Unclassified
Component: PPC-32 (show other bugs)
Hardware: All Linux
: P1 high
Assignee: platform_ppc-32
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-14 15:43 UTC by Roger Blofeld
Modified: 2010-07-08 15:59 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.29.6+
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments

Description Roger Blofeld 2009-11-14 15:43:36 UTC
Cardbus devices fail probe with error -5 due to NULL archdata.dma_ops.

For example in sata_sil.c function sil_init_one

    rc = pci_set_dma_mask(pdev, ATA_DMA_MASK);

which returns -5 (-EIO) because

get_dma_ops(&pdev->dev);

returns NULL.

Adding set_dma_ops(dev, &dma_direct_ops) to the driver fixes the problem, but I don't know if that is the right place to add the call or if that is multi-platform appropriate. Perhaps the cardbus bridge (yenta) should have the call?


I think this is the same as https://bugs.launchpad.net/ubuntu/+bug/421940 except that it is a rt2500 card.

Also http://bugzilla.kernel.org/show_bug.cgi?id=14121 except that it is for ath5k.
Comment 1 Dominik Brodowski 2010-02-23 00:28:03 UTC
This seems to be fixed in recent kernels (2.6.33-rcX) by means of 2d1c861871d767153538a77c498752b36d4bb4b8 (PCI/cardbus: Add a fixup hook and fix powerpc). Could you confirm this, please?
Comment 2 Roger Blofeld 2010-07-08 15:58:40 UTC
Fixed for me as of 2.6.32.5

Note You need to log in before you can comment on or make changes to this bug.