Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: SMP (ht) + PREEMPT crash dump



Vincenzo Di Massa wrote:
> I managed to get the dump into syslog!
> Using 2.6.6.
> 
> I hope this can be useful to debug it.
...
> May 11 21:34:58 fisso2-vi kernel: EIP is at dmx_section_feed_release_filter+0x41/0x11d [dvb_core]

CVS already has the patch below which I hope should fix this.

Regards,
Johannes


Index: dvb_demux.c
===================================================================
RCS file: /cvs/linuxtv/dvb-kernel/linux/drivers/media/dvb/dvb-core/dvb_demux.c,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -p -r1.48 -r1.49
--- dvb_demux.c	3 Mar 2004 15:48:27 -0000	1.48
+++ dvb_demux.c	5 May 2004 18:25:43 -0000	1.49
@@ -571,24 +571,30 @@ static int dvb_demux_feed_find(struct dv
 
 static void dvb_demux_feed_add(struct dvb_demux_feed *feed)
 {
+	spin_lock(&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);
-		return;
+		goto out;
 	}
 
 	list_add(&feed->list_head, &feed->demux->feed_list);
+out:
+	spin_unlock(&feed->demux->lock);
 }
 
 static void dvb_demux_feed_del(struct dvb_demux_feed *feed)
 {
+	spin_lock(&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);
-		return;
+		goto out;
 	}
 
 	list_del(&feed->list_head);
+out:
+	spin_unlock(&feed->demux->lock);
 }
 
 static int dmx_ts_feed_set (struct dmx_ts_feed* ts_feed, u16 pid, int ts_type, 


-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index