Chunyan Zhang <zhang.chun...@linaro.org> writes: > It would be broken if stm_data->sw_start isn't zero, because that > stp_master_free() get the 'master' with __stm_master()/stm_master(), > in which the masterID is the second input parameter minus > stm_data->sw_start. So freeing STM masters has to start from > stm_data->sw_start.
No, it won't. stm_master_free() handles nonexistent masters correctly. It does make sense to shrink the loop in stm_unregister_device() to avoid going through the [0..sw_start) range, since stm_master() returns NULL for those, but not for the reasons given in this patch description. Regards, -- Alex