From f66a49766fdfcb8186056bd44a407594c6a3d5ff Mon Sep 17 00:00:00 2001 From: Eli Billauer Date: Sat, 16 Aug 2014 18:57:57 +0300 Subject: [PATCH] staging: xillybus: Removed mmiowb() before mutex_unlock() The relevant sequences consist of two I/O memory writes. The second write depends on the first one. mmiowb() was inserted to make sure that no other thread inserts a "first write" before the current one finished its second. As a mutex protects this critical sequence, mmiowb() is unnecessary. Signed-off-by: Eli Billauer Signed-off-by: Greg Kroah-Hartman --- drivers/staging/xillybus/xillybus_core.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/staging/xillybus/xillybus_core.c b/drivers/staging/xillybus/xillybus_core.c index 93a3c61b1cd5..138c0695e290 100644 --- a/drivers/staging/xillybus/xillybus_core.c +++ b/drivers/staging/xillybus/xillybus_core.c @@ -908,8 +908,6 @@ static ssize_t xillybus_read(struct file *filp, char __user *userbuf, channel->endpoint->registers + fpga_buf_ctrl_reg); - mmiowb(); /* Just to appear safe */ - mutex_unlock(&channel->endpoint-> register_mutex); } @@ -1118,7 +1116,6 @@ static int xillybus_myflush(struct xilly_channel *channel, long timeout) (2 << 24) | /* Opcode 2, submit buffer */ (bufidx << 12), channel->endpoint->registers + fpga_buf_ctrl_reg); - mmiowb(); /* Just to appear safe */ mutex_unlock(&channel->endpoint->register_mutex); } else if (bufidx == 0) @@ -1369,7 +1366,6 @@ static ssize_t xillybus_write(struct file *filp, const char __user *userbuf, (bufidx << 12), channel->endpoint->registers + fpga_buf_ctrl_reg); - mmiowb(); /* Just to appear safe */ mutex_unlock(&channel->endpoint-> register_mutex); -- 2.39.5