Fix array shifting logic of updating bg devices list.

Assume there're bg devices [a, b, c], and a is removing. The code updates the
array to [b, c, c], which the right most remained element of bg_dev_list is not
cleared after shifting and makes it duplicated.

Change-Id: I048f6526a5de32aa82ef0eb22df7d5f8b937171b
Signed-off-by: Ting-Yu Chou <janus926@gmail.com>