• Mathieu Desnoyers's avatar
    [CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site) · 395913d0
    Mathieu Desnoyers authored
    remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)
    
    commit	42a06f21
    
    Missed a call site for CPUFREQ_GOV_STOP to remove the rwlock taken around the
    teardown. To make a long story short, the rwlock write-lock causes a circular
    dependency with cancel_delayed_work_sync(), because the timer handler takes the
    read lock.
    
    Note that all callers to __cpufreq_set_policy are taking the rwsem. All sysfs
    callers (writers) hold the write rwsem at the earliest sysfs calling stage.
    
    However, the rwlock write-lock is not needed upon governor stop.
    Signed-off-by: default avatarMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
    Acked-by: default avatarVenkatesh Pallipadi <venkatesh.pallipadi@intel.com>
    CC: rjw@sisk.pl
    CC: mingo@elte.hu
    CC: Shaohua Li <shaohua.li@intel.com>
    CC: Pekka Enberg <penberg@cs.helsinki.fi>
    CC: Dave Young <hidave.darkstar@gmail.com>
    CC: "Rafael J. Wysocki" <rjw@sisk.pl>
    CC: Rusty Russell <rusty@rustcorp.com.au>
    CC: trenn@suse.de
    CC: sven.wegener@stealer.net
    CC: cpufreq@vger.kernel.org
    Signed-off-by: default avatarDave Jones <davej@redhat.com>
    395913d0
cpufreq.c 49.3 KB