summaryrefslogtreecommitdiff
path: root/kernel/xpp/xframe_queue.c
diff options
context:
space:
mode:
authortzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2008-05-13 21:08:09 +0000
committertzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2008-05-13 21:08:09 +0000
commitd7e54a785544ac40abc4a88383df3a913ca466e8 (patch)
treeabf630c8372e7c81407172ad31190fa8a617a8ed /kernel/xpp/xframe_queue.c
parent823cf303caf13cc6e4fd2c2173804f0990b29532 (diff)
xpp r5723: Includes, among others:
* New firmware protocol version: 3.0 . * New numbers for the device types: (e.g. in card_init* scripts) - FXS: 1 (was: 3) - FXO: 2 (was: 4) - BRI: 3 (was: 6 for TE, 7 for NT) - PRI: 4 (was: 9) * Init scripts of FXS and FXO modules are now written in Perl as well (be sure to have File::Basename, e.g: perl-modules in Debian). * calibrate_slics merged into init_card_1_30 . * Module parameter print_dbg replaced with debug . Same meaning. * init_fxo_modes removed: content moved into init_card_2_30, verified at build time. * Code tested with sparse. Most warnings were fixed. * Set ZT_SIG_DACS for the bchans in the PRI and BRI modules to not get ignored by ztscan. * Handle null config_desc we get from some crazy USB controllers. * genzaptelconf: Fix reporting of empty slots in list mode. * xpp_blink can now blink a single analog port. * "slics" has been renamed "chipregs". * Fixed a small typo in fpga_load(8). * Fixed bashism in xpp_fxloader. Merged revisions 4264 via svnmerge from http://svn.digium.com/svn/zaptel/branches/1.2 git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.4@4266 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'kernel/xpp/xframe_queue.c')
-rw-r--r--kernel/xpp/xframe_queue.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/kernel/xpp/xframe_queue.c b/kernel/xpp/xframe_queue.c
index a62e850..7d9c098 100644
--- a/kernel/xpp/xframe_queue.c
+++ b/kernel/xpp/xframe_queue.c
@@ -2,7 +2,7 @@
#include "xbus-core.h"
#include "zap_debug.h"
-extern int print_dbg;
+extern int debug;
static xframe_t *transport_alloc_xframe(xbus_t *xbus, gfp_t gfp_flags);
static void transport_free_xframe(xbus_t *xbus, xframe_t *xframe);
@@ -53,7 +53,7 @@ bool xframe_enqueue(struct xframe_queue *q, xframe_t *xframe)
return ret;
}
-xframe_t *__xframe_dequeue(struct xframe_queue *q)
+static xframe_t *__xframe_dequeue(struct xframe_queue *q)
{
xframe_t *frm = NULL;
struct list_head *h;
@@ -174,11 +174,17 @@ static bool xframe_queue_adjust(struct xframe_queue *q)
//XBUS_INFO(xbus, "%s(%d): Allocate one\n", q->name, delta);
xframe = transport_alloc_xframe(xbus, GFP_ATOMIC);
if(!xframe) {
- XBUS_ERR(xbus, "%s: failed frame allocation\n", q->name);
+ static int rate_limit;
+
+ if((rate_limit++ % 3001) == 0)
+ XBUS_ERR(xbus, "%s: failed frame allocation\n", q->name);
goto out;
}
if(!__xframe_enqueue(q, xframe)) {
- XBUS_ERR(xbus, "%s: failed enqueueing frame\n", q->name);
+ static int rate_limit;
+
+ if((rate_limit++ % 3001) == 0)
+ XBUS_ERR(xbus, "%s: failed enqueueing frame\n", q->name);
transport_free_xframe(xbus, xframe);
goto out;
}
@@ -187,7 +193,10 @@ static bool xframe_queue_adjust(struct xframe_queue *q)
//XBUS_INFO(xbus, "%s(%d): Free one\n", q->name, delta);
xframe = __xframe_dequeue(q);
if(!xframe) {
- XBUS_ERR(xbus, "%s: failed dequeueing frame\n", q->name);
+ static int rate_limit;
+
+ if((rate_limit++ % 3001) == 0)
+ XBUS_ERR(xbus, "%s: failed dequeueing frame\n", q->name);
goto out;
}
transport_free_xframe(xbus, xframe);