From d61c8190c387abe6c23556f6d58d9c23fa7adf52 Mon Sep 17 00:00:00 2001 From: Devin Heitmueller Date: Sat, 13 Mar 2010 16:40:46 -0300 Subject: [PATCH] --- yaml --- r: 193147 b: refs/heads/master c: fdafc96c9162bdc58192a400bad5b850e185977d h: refs/heads/master i: 193145: 5d29bb58e6b8d4e7d1a3b495085ce387f1f3f214 193143: 16e13853dc6c647acbe3f4f1fb9f763bcab630ab v: v3 --- [refs] | 2 +- trunk/drivers/media/dvb/ngene/ngene-core.c | 7 +++++-- trunk/drivers/media/dvb/ngene/ngene.h | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 842f8bc617e2..0fd02c2da8c1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 668293a06e3866a3aaa60c523ba4f8f19bfddba1 +refs/heads/master: fdafc96c9162bdc58192a400bad5b850e185977d diff --git a/trunk/drivers/media/dvb/ngene/ngene-core.c b/trunk/drivers/media/dvb/ngene/ngene-core.c index c8c997059c40..34eaedf65eea 100644 --- a/trunk/drivers/media/dvb/ngene/ngene-core.c +++ b/trunk/drivers/media/dvb/ngene/ngene-core.c @@ -1750,7 +1750,7 @@ static int init_channel(struct ngene_channel *chan) if (io & (NGENE_IO_TSIN | NGENE_IO_TSOUT)) { if (nr >= STREAM_AUDIOIN1) chan->DataFormatFlags = DF_SWAP32; - if (nr == 0 || !one_adapter) { + if (nr == 0 || !one_adapter || dev->first_adapter == NULL) { adapter = &dev->adapter[nr]; ret = dvb_register_adapter(adapter, "nGene", THIS_MODULE, @@ -1758,8 +1758,10 @@ static int init_channel(struct ngene_channel *chan) adapter_nr); if (ret < 0) return ret; + if (dev->first_adapter == NULL) + dev->first_adapter = adapter; } else { - adapter = &dev->adapter[0]; + adapter = dev->first_adapter; } ret = my_dvb_dmx_ts_card_init(dvbdemux, "SW demux", @@ -1796,6 +1798,7 @@ static int init_channels(struct ngene *dev) int i, j; for (i = 0; i < MAX_STREAM; i++) { + dev->channel[i].number = i; if (init_channel(&dev->channel[i]) < 0) { for (j = i - 1; j >= 0; j--) release_channel(&dev->channel[j]); diff --git a/trunk/drivers/media/dvb/ngene/ngene.h b/trunk/drivers/media/dvb/ngene/ngene.h index a7eb29846310..ca3af5c6238f 100644 --- a/trunk/drivers/media/dvb/ngene/ngene.h +++ b/trunk/drivers/media/dvb/ngene/ngene.h @@ -752,6 +752,7 @@ struct ngene { spinlock_t cmd_lock; struct dvb_adapter adapter[MAX_STREAM]; + struct dvb_adapter *first_adapter; /* "one_adapter" modprobe opt */ struct ngene_channel channel[MAX_STREAM]; struct ngene_info *card_info;