Skip to content

Commit 9730870

Browse files
committed
LoongArch: Fix hw_breakpoint_control() for watchpoints
In hw_breakpoint_control(), encode_ctrl_reg() has already encoded the MWPnCFG3_LoadEn/MWPnCFG3_StoreEn bits in info->ctrl. We don't need to add (1 << MWPnCFG3_LoadEn | 1 << MWPnCFG3_StoreEn) unconditionally. Otherwise we can't set read watchpoint and write watchpoint separately. Cc: stable@vger.kernel.org Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
1 parent 656f9ae commit 9730870

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

arch/loongarch/kernel/hw_breakpoint.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,8 +207,7 @@ static int hw_breakpoint_control(struct perf_event *bp,
207207
write_wb_reg(CSR_CFG_CTRL, i, 0, CTRL_PLV_ENABLE);
208208
} else {
209209
ctrl = encode_ctrl_reg(info->ctrl);
210-
write_wb_reg(CSR_CFG_CTRL, i, 1, ctrl | CTRL_PLV_ENABLE |
211-
1 << MWPnCFG3_LoadEn | 1 << MWPnCFG3_StoreEn);
210+
write_wb_reg(CSR_CFG_CTRL, i, 1, ctrl | CTRL_PLV_ENABLE);
212211
}
213212
enable = csr_read64(LOONGARCH_CSR_CRMD);
214213
csr_write64(CSR_CRMD_WE | enable, LOONGARCH_CSR_CRMD);

0 commit comments

Comments
 (0)