integrated
[ipfw.git] / dummynet2 / dn_sched_qfq.c
index 13bf659..eddb472 100644 (file)
@@ -25,7 +25,7 @@
  */
 
 /*
  */
 
 /*
- * $Id: dn_sched_qfq.c 5621 2010-03-04 16:51:27Z luigi $
+ * $Id: dn_sched_qfq.c 6552 2010-06-15 11:24:59Z svn_panicucci $
  */
 
 #ifdef _KERNEL
  */
 
 #ifdef _KERNEL
@@ -61,7 +61,7 @@ typedef       unsigned long   bitmap;
  * bitmaps ops are critical. Some linux versions have __fls
  * and the bitmap ops. Some machines have ffs
  */
  * bitmaps ops are critical. Some linux versions have __fls
  * and the bitmap ops. Some machines have ffs
  */
-#if defined(_WIN32)
+#if defined(_WIN32) || (defined(__MIPSEL__) && defined(LINUX_24))
 int fls(unsigned int n)
 {
        int i = 0;
 int fls(unsigned int n)
 {
        int i = 0;
@@ -71,7 +71,7 @@ int fls(unsigned int n)
 }
 #endif
 
 }
 #endif
 
-#if !defined(_KERNEL) || defined( __FreeBSD__ ) || defined(_WIN32)
+#if !defined(_KERNEL) || defined( __FreeBSD__ ) || defined(_WIN32) || (defined(__MIPSEL__) && defined(LINUX_24))
 static inline unsigned long __fls(unsigned long word)
 {
        return fls(word) - 1;
 static inline unsigned long __fls(unsigned long word)
 {
        return fls(word) - 1;
@@ -319,7 +319,7 @@ qfq_new_queue(struct dn_queue *_q)
 
 /* remove an empty queue */
 static int
 
 /* remove an empty queue */
 static int
-qfq_free_queue(struct dn_queue *_q)
+qfq_free_queue(struct dn_queue *_q, int safe)
 {
        struct qfq_sched *q = (struct qfq_sched *)(_q->_si + 1);
        struct qfq_class *cl = (struct qfq_class *)_q;
 {
        struct qfq_sched *q = (struct qfq_sched *)(_q->_si + 1);
        struct qfq_class *cl = (struct qfq_class *)_q;