[efi] Use the SNP protocol instance to match the SNP chainloading device
authorMichael Brown <mcb30@ipxe.org>
Wed, 20 Aug 2014 12:15:00 +0000 (13:15 +0100)
committerMichael Brown <mcb30@ipxe.org>
Thu, 4 Sep 2014 14:39:02 +0000 (15:39 +0100)
commit4c5b7945c34392dda8a22c0759c15f78f90bb8a3
tree945b43274c6d96534b2c6f673586d46a15f522d3
parent0cc2f42f467e27945070a4036a6a1f928bc7018f
[efi] Use the SNP protocol instance to match the SNP chainloading device

Some systems will install a child of the SNP device and use this as
our loaded image's device handle, duplicating the installation of the
underlying SNP protocol onto the child device handle.  On such
systems, we want to end up driving the parent device (and
disconnecting any other drivers, such as MNP, which may be attached to
the parent device).

Fix by recording the SNP protocol instance at initialisation time, and
using this to match against device handles (rather than simply
comparing the handles themselves).

Reported-by: Jarrod Johnson <jarrod.b.johnson@gmail.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/drivers/net/efi/snponly.c