If lnet_check_routes() returns error, it means the route just added was invalid and must be removed, see LNetNIInit(). It's wrong to just return the error to user space:
1. User space would treat the error as a failure to add the route, but the route was indeed added already.
2. Two conflicting routes now live in the routing table.