From d20240c02a4aeb413b54735ff1a30abb4c4e573a Mon Sep 17 00:00:00 2001 From: Arne Fitzenreiter Date: Thu, 8 May 2014 16:03:27 +0200 Subject: [PATCH] libertas_uap: fix oopses at proc access. --- drivers/net/wireless/libertas_uap/uap_debug.c | 4 ++-- drivers/net/wireless/libertas_uap/uap_proc.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/libertas_uap/uap_debug.c b/drivers/net/wireless/libertas_uap/uap_debug.c index a2f6dc9c7a429..3d52f0e886305 100644 --- a/drivers/net/wireless/libertas_uap/uap_debug.c +++ b/drivers/net/wireless/libertas_uap/uap_debug.c @@ -99,7 +99,7 @@ static int uap_debug_proc_show(struct seq_file *s, void *data) { int val = 0; int i; - struct debug_data *d = (struct debug_data *)data; + struct debug_data *d = (struct debug_data *)s->private; if (MODULE_GET == 0) return UAP_STATUS_FAILURE; @@ -138,7 +138,7 @@ static ssize_t uap_debug_proc_write(struct file *f, const char __user *buf, size char *p0; char *p1; char *p2; - struct debug_data *d = (struct debug_data *)f->private_data; + struct debug_data *d = (struct debug_data *)PDE_DATA(file_inode(f)); if (MODULE_GET == 0) return UAP_STATUS_FAILURE; diff --git a/drivers/net/wireless/libertas_uap/uap_proc.c b/drivers/net/wireless/libertas_uap/uap_proc.c index d673f5627002c..ed5ed40f07107 100644 --- a/drivers/net/wireless/libertas_uap/uap_proc.c +++ b/drivers/net/wireless/libertas_uap/uap_proc.c @@ -116,7 +116,7 @@ static int uap_hwstatus_proc_open(struct inode *inode, struct file *file) { } static ssize_t uap_hwstatus_proc_write(struct file *file, const char __user *buffer, size_t count, loff_t *data) { - struct net_device *netdev = (struct net_device *)data; + struct net_device *netdev = (struct net_device *)PDE_DATA(file_inode(file)); uap_private *priv = (uap_private *) netdev_priv(netdev); int hwstatus; -- 2.47.2