Instead of invoking a synchronize_rcu() to free a pointer after a grace period, we can directly make use of new API that does the same but in more efficient way. Signed-off-by: Shang XiaoJing <shangxiaojing@xxxxxxxxxx> --- sorry, the previous same patch have the wrong v3 flag in subject. --- drivers/staging/fwserial/fwserial.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/staging/fwserial/fwserial.c b/drivers/staging/fwserial/fwserial.c index 81b06d88ed0d..ac2d625f0883 100644 --- a/drivers/staging/fwserial/fwserial.c +++ b/drivers/staging/fwserial/fwserial.c @@ -2117,8 +2117,7 @@ static void fwserial_remove_peer(struct fwtty_peer *peer) if (port) fwserial_release_port(port, true); - synchronize_rcu(); - kfree(peer); + kvfree_rcu(peer); } /** -- 2.17.1