Adjust/manage the return values of register_one_rmrr() such that new
callers log errors for non-debug builds too, while not affecting the
behavior of the original callers.
Signed-off-by: Venu Busireddy <venu.busireddy@oracle.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Kevin Tian <kevin.tian@intel.com>
rmrru->base_address, rmrru->end_address);
scope_devices_free(&rmrru->scope);
xfree(rmrru);
+ return 1;
}
else if ( rmrru->base_address > rmrru->end_address )
{
&rmrru->scope, RMRR_TYPE, rmrr->segment);
if ( !ret && (rmrru->scope.devices_cnt != 0) )
+ {
ret = register_one_rmrr(rmrru);
+ /*
+ * register_one_rmrr() returns greater than 0 when a specified
+ * PCIe device cannot be detected. To prevent VT-d from being
+ * disabled in such cases, reset the return value to 0 here.
+ */
+ if ( ret > 0 )
+ ret = 0;
+
+ }
else
xfree(rmrru);