int rc;
if (efi_enabled) {
- if (!efi.smbios)
+ if (efi.smbios == EFI_INVALID_TABLE_ADDR)
goto out;
/* This is called as a core_initcall() because it isn't
* needed during early boot. This also means we can
* iounmap the space when we're done with it.
*/
- p = dmi_ioremap((unsigned long)efi.smbios, 32);
+ p = dmi_ioremap(efi.smbios, 32);
if (p == NULL)
goto out;