drivers/cpuidle: Move dereference after NULL test
It does not seem possible that ldev can be NULL, so drop the unnecessary test. If ldev can somehow be NULL, then the initialization of last_idx should be moved below the test. A simplified version of the semantic match that detects this problem is as follows (http://coccinelle.lip6.fr/): // <smpl> @match exists@ expression x, E; identifier fld; @@ * x->fld ... when != \(x = E\|&x\) * x == NULL // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Acked-by: Arjan van de Ven <arjan@linux.intel.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
471452104b
commit
faa7b7ddca
@ -69,9 +69,6 @@ static int ladder_select_state(struct cpuidle_device *dev)
|
|||||||
int last_residency, last_idx = ldev->last_state_idx;
|
int last_residency, last_idx = ldev->last_state_idx;
|
||||||
int latency_req = pm_qos_requirement(PM_QOS_CPU_DMA_LATENCY);
|
int latency_req = pm_qos_requirement(PM_QOS_CPU_DMA_LATENCY);
|
||||||
|
|
||||||
if (unlikely(!ldev))
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
/* Special case when user has set very strict latency requirement */
|
/* Special case when user has set very strict latency requirement */
|
||||||
if (unlikely(latency_req == 0)) {
|
if (unlikely(latency_req == 0)) {
|
||||||
ladder_do_selection(ldev, last_idx, 0);
|
ladder_do_selection(ldev, last_idx, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user