[U-Boot] [PATCH 20/23] x86: tnc: Remove IGD and SDVO devices from driver model

Bin Meng bmeng.cn at gmail.com
Wed Feb 3 05:34:06 CET 2016


On Tue, Feb 2, 2016 at 12:20 AM, Simon Glass <sjg at chromium.org> wrote:
> Hi Bin,
>
> On 1 February 2016 at 02:40, Bin Meng <bmeng.cn at gmail.com> wrote:
>> With recent DM PCI changes to vesa_fb driver, external graphics
>> card does not work any more. This is because: after setting the
>> function disable bit, IGD and SDVO devices will disappear in the
>> PCI configuration space. This however creates an inconsistent state
>> from a driver model PCI controller point of view, as these two PCI
>> devices are still attached to its parent's child device list as
>> maintained by the driver model. Some driver model PCI APIs like
>> dm_pci_find_class() used in the vesa_fb driver, are referring to
>> the list to speed up the finding process instead of re-enumerating
>> the whole PCI bus, so it gets the stale cached data which is wrong.
>>
>> To fix this, manually remove these two devices.
>>
>> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
>> ---
>>
>>  arch/x86/cpu/queensbay/tnc.c | 36 ++++++++++++++++++++++++++++++++++++
>>  1 file changed, 36 insertions(+)
>
> Reviewed-by: Simon Glass <sjg at chromium.org>
> Tested on Minnowmax:
> Tested-by: Simon Glass <sjg at chromium.org>
>

applied to u-boot-x86/master, thanks!


More information about the U-Boot mailing list