summaryrefslogtreecommitdiff
path: root/drivers/dahdi/wctdm24xxp/base.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/dahdi/wctdm24xxp/base.c')
-rw-r--r--drivers/dahdi/wctdm24xxp/base.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/dahdi/wctdm24xxp/base.c b/drivers/dahdi/wctdm24xxp/base.c
index 59ec4be..e55c53b 100644
--- a/drivers/dahdi/wctdm24xxp/base.c
+++ b/drivers/dahdi/wctdm24xxp/base.c
@@ -592,6 +592,9 @@ 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)
@@ -785,7 +788,7 @@ static inline void cmd_decipher_vpmadt032(struct wctdm *wc, const u8 *readchunk)
cmd->data = (0xff & readchunk[CMD_BYTE(25, 1, 0)]) << 8;
cmd->data |= readchunk[CMD_BYTE(25, 2, 0)];
if (cmd->desc & __VPM150M_WR) {
- kfree(&cmd->node);
+ kfree(cmd);
} else {
cmd->desc |= __VPM150M_FIN;
complete(&cmd->complete);