lkml.org 
[lkml]   [2003]   [Dec]   [2]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateTue, 02 Dec 2003 18:31:57 +0100
FromTakashi Iwai <>
SubjectRe: vanilla 2.6.0-test11 and CS4236 card
At Tue, 2 Dec 2003 11:06:39 -0600,
Joseph Pingenot wrote:
> 
> Howdy.
> 
> I'm having problems getting the CS4236+ driver to recognize my 
>   CS4236B card.  pnp finds it on boot:
> isapnp: Scanning for PnP cards...
> isapnp: Card 'CS4236B'
> isapnp: 1 Plug & Play card detected total
> 
> but the ALSA driver doesn't pick it up.
> isapnp detection failed and probing for CS4236+ is not supported
> CS4236+ soundcard not found or device busy
> 
> Furthermore, after fudging with manually setting it up via modprobe
>   options, it's still not loading:
> CS4236+ soundcard not found or device busy
> 
> This used to work in the 2.4 series kernel without any modprobe.conf
>   settings; the OSS driver would pick it up.
> 
> Any assistance would be greatly appreciated; this is the only thing holding
>   me back from 2.6 goodness.  ;)

does the attached patch work?  (it's untested at all...)


--
Takashi Iwai <tiwai@suse.de>		ALSA Developer - www.alsa-project.org
--- linux-2.6.0-test11/drivers/pnp/card.c-dist	2003-12-02 18:14:21.000000000 +0100
+++ linux-2.6.0-test11/drivers/pnp/card.c	2003-12-02 18:29:20.000000000 +0100
@@ -26,8 +26,25 @@
 {
 	const struct pnp_card_device_id * drv_id = drv->id_table;
 	while (*drv_id->id){
-		if (compare_pnp_id(card->id,drv_id->id))
-			return drv_id;
+		if (compare_pnp_id(card->id,drv_id->id)) {
+			int i = 0;
+			for (;;) {
+				int found;
+				struct pnp_dev *dev;
+				if (i == PNP_MAX_DEVICES || ! *drv_id->devs[i].id)
+					return drv_id;
+				found = 0;
+				card_for_each_dev(card, dev) {
+					if (compare_pnp_id(dev->id, drv_id->devs[i].id)) {
+						found = 1;
+						break;
+					}
+				}
+				if (! found)
+					break;
+				i++;
+			}
+		}
 		drv_id++;
 	}
 	return NULL;
\
 
 \ /
  Last update: 2005-03-22 12:59    [from the cache]
©2003-2008