6 #include <linux/atmdev.h>
7 #include <linux/slab.h>
19 if (!*addr->sas_addr.
pub)
22 if (!addr->sas_addr.
pub[i])
32 if (!*a->sas_addr.
pub)
33 return !*b->sas_addr.
pub;
34 if (!*b->sas_addr.
pub)
39 static void notify_sigd(
const struct atm_dev *
dev)
62 spin_unlock_irqrestore(&dev->
lock, flags);
63 if (head == &dev->
local)
75 error = check_addr(addr);
84 if (identical(&this->addr, addr)) {
85 spin_unlock_irqrestore(&dev->
lock, flags);
91 spin_unlock_irqrestore(&dev->
lock, flags);
95 list_add(&this->
entry, head);
96 spin_unlock_irqrestore(&dev->
lock, flags);
97 if (head == &dev->
local)
110 error = check_addr(addr);
119 if (identical(&this->addr, addr)) {
121 spin_unlock_irqrestore(&dev->
lock, flags);
123 if (head == &dev->
local)
128 spin_unlock_irqrestore(&dev->
lock, flags);
138 int total = 0,
error;
150 spin_unlock_irqrestore(&dev->
lock, flags);
155 spin_unlock_irqrestore(&dev->
lock, flags);
157 if (
copy_to_user(buf, tmp_buf, total < size ? total : size))