/* * Copyright (C) 2015 Josh Poimboeuf * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ #ifndef _ARCH_H #define _ARCH_H #include #include "elf.h" #define INSN_FP_SAVE 1 #define INSN_FP_SETUP 2 #define INSN_FP_RESTORE 3 #define INSN_JUMP_CONDITIONAL 4 #define INSN_JUMP_UNCONDITIONAL 5 #define INSN_JUMP_DYNAMIC 6 #define INSN_CALL 7 #define INSN_CALL_DYNAMIC 8 #define INSN_RETURN 9 #define INSN_CONTEXT_SWITCH 10 #define INSN_BUG 11 #define INSN_NOP 12 #define INSN_OTHER 13 #define INSN_LAST INSN_OTHER int arch_decode_instruction(struct elf *elf, struct section *sec, unsigned long offset, unsigned int maxlen, unsigned int *len, unsigned char *type, unsigned long *displacement); #endif /* _ARCH_H */ lass='sub'>net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrygorii Strashko <grygorii.strashko@ti.com>2016-07-28 20:50:34 +0300
committerDavid S. Miller <davem@davemloft.net>2016-07-30 21:00:33 -0700
commitfccd5badb84de03fef9b072e7ae72fe0ea8348e3 (patch)
tree7cce76270e9aeac5c519b335bd78f5234288cb8c
parentc882219ae43ed8d2a06583d24d2ed42d09ca93cf (diff)
net: ethernet: ti: cpdma: fix lockup in cpdma_ctlr_destroy()
Fix deadlock in cpdma_ctlr_destroy() which is triggered now on cpsw module removal: cpsw_remove() - cpdma_ctlr_destroy() - spin_lock_irqsave(&ctlr->lock, flags) - cpdma_ctlr_stop() - spin_lock_irqsave(&ctlr->lock, flags); - cpdma_chan_destroy() - spin_lock_irqsave(&ctlr->lock, flags); The issue has not been observed before because CPDMA channels have been destroyed manually by CPSW until commit d941ebe88a41 ("net: ethernet: ti: cpsw: use destroy ctlr to destroy channels") was merged. Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>