summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2010-04-03 18:10:27 +0000
committerShaun Ruffell <sruffell@digium.com>2010-04-03 18:10:27 +0000
commit2be896218a8f458b1b79eec0dc6f4f16fcb4f26d (patch)
tree955b82d3a1833d1929714ddea3f9b2984d9a17c1
parent3811cf3cbb164beda44441ee7ecae320aee0e6ac (diff)
wcte12xp, wtdm24xxp: Make sure the writes are retried.
r8454 and r8460 introduced a change where writes are not retried when other module/framer commands are retried. This was an error and wasn't what was actually under test. This commit restores the behavior in wctdm24xxp and makes sure the vpm writes are retried in the wcte12xp. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8461 a0bf4364-ded3-4de4-8d8a-66a801d63aff
-rw-r--r--drivers/dahdi/voicebus/GpakCust.h10
-rw-r--r--drivers/dahdi/wctdm24xxp/base.c3
-rw-r--r--drivers/dahdi/wcte12xp/base.c3
3 files changed, 1 insertions, 15 deletions
diff --git a/drivers/dahdi/voicebus/GpakCust.h b/drivers/dahdi/voicebus/GpakCust.h
index 3842156..27499bd 100644
--- a/drivers/dahdi/voicebus/GpakCust.h
+++ b/drivers/dahdi/voicebus/GpakCust.h
@@ -149,11 +149,6 @@ void vpmadt032_echocan_free(struct vpmadt032 *vpm, int channo,
struct GpakEcanParms;
void vpmadt032_get_default_parameters(struct GpakEcanParms *p);
-static inline int is_cmd_write(const struct vpmadt032_cmd *cmd)
-{
- return (cmd->desc & __VPM150M_WR) != 0;
-}
-
/* If there is a command ready to go to the VPMADT032, return it, otherwise NULL */
static inline struct vpmadt032_cmd *vpmadt032_get_ready_cmd(struct vpmadt032 *vpm)
{
@@ -166,10 +161,7 @@ static inline struct vpmadt032_cmd *vpmadt032_get_ready_cmd(struct vpmadt032 *vp
return NULL;
}
cmd = list_entry(vpm->pending_cmds.next, struct vpmadt032_cmd, node);
- if (!is_cmd_write(cmd))
- list_move_tail(&cmd->node, &vpm->active_cmds);
- else
- list_del_init(&cmd->node);
+ list_move_tail(&cmd->node, &vpm->active_cmds);
spin_unlock_irqrestore(&vpm->list_lock, flags);
return cmd;
}
diff --git a/drivers/dahdi/wctdm24xxp/base.c b/drivers/dahdi/wctdm24xxp/base.c
index e55c53b..97d77d2 100644
--- a/drivers/dahdi/wctdm24xxp/base.c
+++ b/drivers/dahdi/wctdm24xxp/base.c
@@ -592,9 +592,6 @@ static inline void cmd_dequeue_vpmadt032(struct wctdm *wc, u8 *writechunk, int w
writechunk[CMD_BYTE(27, 1, 0)] = 0;
writechunk[CMD_BYTE(27, 2, 0)] = 0;
}
- if (is_cmd_write(curcmd))
- kfree(curcmd);
-
} else if (test_and_clear_bit(VPM150M_SWRESET, &vpmadt032->control)) {
for (x = 24; x < 28; x++) {
if (x == 24)
diff --git a/drivers/dahdi/wcte12xp/base.c b/drivers/dahdi/wcte12xp/base.c
index 7645634..77d72c5 100644
--- a/drivers/dahdi/wcte12xp/base.c
+++ b/drivers/dahdi/wcte12xp/base.c
@@ -503,9 +503,6 @@ static void cmd_dequeue_vpmadt032(struct t1 *wc, unsigned char *writechunk, int
writechunk[CMD_BYTE(4, 1, 1)] = 0;
writechunk[CMD_BYTE(4, 2, 1)] = 0;
}
- if (is_cmd_write(cmd))
- kfree(cmd);
-
} else if (test_and_clear_bit(VPM150M_SWRESET, &vpm->control)) {
for (x = 0; x < 7; x++) {
if (0 == x) {