提交 db315014 编写于 作者: D Dan Carpenter 提交者: Greg Kroah-Hartman

Staging: batman-adv: cleanup: change test for end of array

The code here is testing to see if "i" is passed the end of the array.
The original code works probably, but it's not the cleanest way.

Andrew Lunn suggested that I also remove all the hard coded references
to 256 so I have done that as well.
Signed-off-by: NDan Carpenter <error27@gmail.com>
Signed-off-by: NMarek Lindner <lindner_marek@yahoo.de>
Signed-off-by: NAndrew Lunn <andrew@lunn.ch>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 56c341d7
...@@ -44,10 +44,7 @@ static struct device_client *device_client_hash[256]; ...@@ -44,10 +44,7 @@ static struct device_client *device_client_hash[256];
void bat_device_init(void) void bat_device_init(void)
{ {
int i; memset(device_client_hash, 0, sizeof(device_client_hash));
for (i = 0; i < 256; i++)
device_client_hash[i] = NULL;
} }
int bat_device_setup(void) int bat_device_setup(void)
...@@ -103,15 +100,15 @@ int bat_device_open(struct inode *inode, struct file *file) ...@@ -103,15 +100,15 @@ int bat_device_open(struct inode *inode, struct file *file)
if (!device_client) if (!device_client)
return -ENOMEM; return -ENOMEM;
for (i = 0; i < 256; i++) { for (i = 0; i < ARRAY_SIZE(device_client_hash); i++) {
if (!device_client_hash[i]) { if (!device_client_hash[i]) {
device_client_hash[i] = device_client; device_client_hash[i] = device_client;
break; break;
} }
} }
if (device_client_hash[i] != device_client) { if (i == ARRAY_SIZE(device_client_hash)) {
printk(KERN_ERR "batman-adv:Error - can't add another packet client: maximum number of clients reached \n"); printk(KERN_ERR "batman-adv:Error - can't add another packet client: maximum number of clients reached\n");
kfree(device_client); kfree(device_client);
return -EXFULL; return -EXFULL;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册