Files
linux-nv-oot/drivers/misc/mods/mods_netdevice.c
Chris Dragan c7fe179f62 misc: mods: fix bugs and style issues
* 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
2023-04-03 13:27:52 +00:00

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;
}