mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +03:00
* Fixed __user and __iomem pointer types. * Added __poll_t for poll() return type if possible. * Fixed error return from poll(). * Fixed init/shutdown in mods_dma. * Declared internal unit functions as static. * Assign NULL to init pointers instead of 0. Bug 3528414 Change-Id: If39a14a429e2cda5d58edb6ffd60fd13693371e6 Signed-off-by: Chris Dragan <kdragan@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2688314 Reviewed-by: svcacv <svcacv@nvidia.com> Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Sachin Nikam <snikam@nvidia.com> GVS: Gerrit_Virtual_Submit
46 lines
1.4 KiB
C
46 lines
1.4 KiB
C
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* This file is part of NVIDIA MODS kernel driver.
|
|
*
|
|
* Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.
|
|
*
|
|
* NVIDIA MODS kernel driver is free software: you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License,
|
|
* version 2, as published by the Free Software Foundation.
|
|
*
|
|
* NVIDIA MODS kernel driver is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with NVIDIA MODS kernel driver.
|
|
* If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#include "mods_internal.h"
|
|
#include <linux/netdevice.h>
|
|
|
|
int esc_mods_net_force_link(struct mods_client *client,
|
|
struct MODS_NET_DEVICE_NAME *p)
|
|
{
|
|
struct net_device *ndev;
|
|
|
|
if (!p ||
|
|
(strnlen(p->device_name, MAX_NET_DEVICE_NAME_LENGTH) == 0) ||
|
|
(!memchr(p->device_name, '\0', MAX_NET_DEVICE_NAME_LENGTH))) {
|
|
cl_error("invalid device name\n");
|
|
return -EINVAL;
|
|
}
|
|
|
|
for_each_netdev(&init_net, ndev)
|
|
if (!strcmp(ndev->name, p->device_name)) {
|
|
netif_carrier_on(ndev);
|
|
cl_info("carrier forced on: %s\n", p->device_name);
|
|
return OK;
|
|
}
|
|
|
|
cl_error("failed to find network device %s\n", p->device_name);
|
|
return -EINVAL;
|
|
}
|