aboutsummaryrefslogtreecommitdiffstats
path: root/net/socket.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2006-01-03 17:18:33 -0500
committerDavid S. Miller <davem@davemloft.net>2006-01-03 17:18:33 -0500
commitb5e5fa5e093e42cab4ee3d6dcbc4f450ad29a723 (patch)
tree7a87804b0953f22de43054ccc7ae67ebc5b66b20 /net/socket.c
parent5ff7630e4aa6c3969094dc30ff1cdaa6f52b0ed0 (diff)
[NET]: Add a dev_ioctl() fallback to sock_ioctl()
Currently all network protocols need to call dev_ioctl as the default fallback in their ioctl implementations. This patch adds a fallback to dev_ioctl to sock_ioctl if the protocol returned -ENOIOCTLCMD. This way all the procotol ioctl handlers can be simplified and we don't need to export dev_ioctl. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/socket.c')
-rw-r--r--net/socket.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/socket.c b/net/socket.c
index 0dde6dade2b1..06fa217f58a9 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -900,6 +900,13 @@ static long sock_ioctl(struct file *file, unsigned cmd, unsigned long arg)
900 break; 900 break;
901 default: 901 default:
902 err = sock->ops->ioctl(sock, cmd, arg); 902 err = sock->ops->ioctl(sock, cmd, arg);
903
904 /*
905 * If this ioctl is unknown try to hand it down
906 * to the NIC driver.
907 */
908 if (err == -ENOIOCTLCMD)
909 err = dev_ioctl(cmd, argp);
903 break; 910 break;
904 } 911 }
905 return err; 912 return err;