#include <linux/miscdevice.h>\r
#include <linux/fs.h>\r
#include <linux/platform_device.h>\r
+#include <linux/slab.h>\r
#include <asm/uaccess.h>\r
\r
#if 0\r
extern char GetSNSectorInfo(char * pbuf);\r
extern unsigned char wlan_mac_addr[6];\r
\r
-static int vflash_ioctl(struct inode *inode, struct file *file,\r
+static long vflash_ioctl(struct file *file,\r
unsigned int cmd, unsigned long arg)\r
{\r
void __user *argp = (void __user *)arg;\r
- unsigned long n = 0;\r
\r
DBG("%s---cmd=0x%x---arg=0x%x\n", __FUNCTION__, cmd, arg);\r
\r
{\r
case READ_BDADDR_FROM_FLASH:\r
{ \r
-#if CONFIG_WIFI_MAC\r
+#ifdef CONFIG_WIFI_MAC\r
unsigned char bd_addr[6] = {0};\r
int i;\r
\r
}\r
#else\r
char *tempBuf = (char *)kmalloc(512, GFP_KERNEL);\r
- char bd_addr[6] = {0};\r
+ char bd_addr[7] = {0};\r
int i;\r
\r
GetSNSectorInfo(tempBuf);\r
}\r
\r
\r
+ //printk("%s: ====> get bt addr from flash=[%02x:%02x:%02x:%02x:%02x:%02x]\n", __FUNCTION__,\r
+ // bd_addr[5], bd_addr[4], bd_addr[3], bd_addr[2], bd_addr[1], bd_addr[0]);\r
if(copy_to_user(argp, bd_addr, 6))\r
- {\r
- printk("ERROR: copy_to_user---%s\n", __FUNCTION__);\r
+ {\r
+ printk("ERROR: copy_to_user---%s\n", __FUNCTION__);\r
kfree(tempBuf);\r
- return -EFAULT;\r
+ return -EFAULT;\r
}\r
\r
kfree(tempBuf);\r
\r
static const struct file_operations vflash_fops = {\r
.owner = THIS_MODULE,\r
- .ioctl = vflash_ioctl,\r
+ .unlocked_ioctl = vflash_ioctl,\r
.open = vflash_open,\r
.release = vflash_release,\r
};\r