Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux

* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
drm/radeon/kms/combios: fix dynamic allocation of PM clock modes

+19 -8
+19 -8
drivers/gpu/drm/radeon/radeon_combios.c
··· 2563 2563 2564 2564 /* allocate 2 power states */ 2565 2565 rdev->pm.power_state = kzalloc(sizeof(struct radeon_power_state) * 2, GFP_KERNEL); 2566 - if (!rdev->pm.power_state) { 2567 - rdev->pm.default_power_state_index = state_index; 2568 - rdev->pm.num_power_states = 0; 2569 - 2570 - rdev->pm.current_power_state_index = rdev->pm.default_power_state_index; 2571 - rdev->pm.current_clock_mode_index = 0; 2572 - return; 2573 - } 2566 + if (rdev->pm.power_state) { 2567 + /* allocate 1 clock mode per state */ 2568 + rdev->pm.power_state[0].clock_info = 2569 + kzalloc(sizeof(struct radeon_pm_clock_info) * 1, GFP_KERNEL); 2570 + rdev->pm.power_state[1].clock_info = 2571 + kzalloc(sizeof(struct radeon_pm_clock_info) * 1, GFP_KERNEL); 2572 + if (!rdev->pm.power_state[0].clock_info || 2573 + !rdev->pm.power_state[1].clock_info) 2574 + goto pm_failed; 2575 + } else 2576 + goto pm_failed; 2574 2577 2575 2578 /* check for a thermal chip */ 2576 2579 offset = combios_get_table_offset(dev, COMBIOS_OVERDRIVE_INFO_TABLE); ··· 2735 2732 rdev->pm.power_state[state_index].flags = 0; 2736 2733 rdev->pm.default_power_state_index = state_index; 2737 2734 rdev->pm.num_power_states = state_index + 1; 2735 + 2736 + rdev->pm.current_power_state_index = rdev->pm.default_power_state_index; 2737 + rdev->pm.current_clock_mode_index = 0; 2738 + return; 2739 + 2740 + pm_failed: 2741 + rdev->pm.default_power_state_index = state_index; 2742 + rdev->pm.num_power_states = 0; 2738 2743 2739 2744 rdev->pm.current_power_state_index = rdev->pm.default_power_state_index; 2740 2745 rdev->pm.current_clock_mode_index = 0;