Index: dvb_demux.c
===================================================================
RCS file: /cvs/linuxtv/dvb-kernel/linux/drivers/media/dvb/dvb-core/dvb_demux.c,v
retrieving revision 1.55
diff -p -u -r1.55 dvb_demux.c
--- dvb_demux.c	27 Aug 2004 15:58:08 -0000	1.55
+++ dvb_demux.c	5 Sep 2004 23:39:25 -0000
@@ -570,7 +570,7 @@ static int dvb_demux_feed_find(struct dv
 
 static void dvb_demux_feed_add(struct dvb_demux_feed *feed)
 {
-	spin_lock(&feed->demux->lock);
+	spin_lock_irq(&feed->demux->lock);
 	if (dvb_demux_feed_find(feed)) {
 		printk(KERN_ERR "%s: feed already in list (type=%x state=%x pid=%x)\n",
 				__FUNCTION__, feed->type, feed->state, feed->pid);
@@ -579,12 +579,12 @@ static void dvb_demux_feed_add(struct dv
 
 	list_add(&feed->list_head, &feed->demux->feed_list);
 out:
-	spin_unlock(&feed->demux->lock);
+	spin_unlock_irq(&feed->demux->lock);
 }
 
 static void dvb_demux_feed_del(struct dvb_demux_feed *feed)
 {
-	spin_lock(&feed->demux->lock);
+	spin_lock_irq(&feed->demux->lock);
 	if (!(dvb_demux_feed_find(feed))) {
 		printk(KERN_ERR "%s: feed not in list (type=%x state=%x pid=%x)\n",
 				__FUNCTION__, feed->type, feed->state, feed->pid);
@@ -593,7 +593,7 @@ static void dvb_demux_feed_del(struct dv
 
 	list_del(&feed->list_head);
 out:
-	spin_unlock(&feed->demux->lock);
+	spin_unlock_irq(&feed->demux->lock);
 }
 
 static int dmx_ts_feed_set (struct dmx_ts_feed* ts_feed, u16 pid, int ts_type, 
