As far as I know there is nothing in the MTD docs specifying that thread safety is guaranteed by the underlying MTD device. Two different threads could be working on the separate maps and the lower device doesn’t have this guarantee in place. The mutex here is to ensure accesses of the different slices are serialized.