* Wesley Craig <netatalk@umich.edu>
*
* Fixes:
+ * Neil Horman : Added missing device ioctls
* Michael Callahan : Made routing work
* Wesley Craig : Fix probing to listen to a
* passed node id.
\**************************************************************************/
HLIST_HEAD(atalk_sockets);
-rwlock_t atalk_sockets_lock = RW_LOCK_UNLOCKED;
+DEFINE_RWLOCK(atalk_sockets_lock);
static inline void __atalk_insert_socket(struct sock *sk)
{
sk_add_node(sk, &atalk_sockets);
}
-static inline void atalk_insert_socket(struct sock *sk)
-{
- write_lock_bh(&atalk_sockets_lock);
- __atalk_insert_socket(sk);
- write_unlock_bh(&atalk_sockets_lock);
-}
-
static inline void atalk_remove_socket(struct sock *sk)
{
write_lock_bh(&atalk_sockets_lock);
/* Anti-deadlock ordering is atalk_routes_lock --> iface_lock -DaveM */
struct atalk_route *atalk_routes;
-rwlock_t atalk_routes_lock = RW_LOCK_UNLOCKED;
+DEFINE_RWLOCK(atalk_routes_lock);
struct atalk_iface *atalk_interfaces;
-rwlock_t atalk_interfaces_lock = RW_LOCK_UNLOCKED;
+DEFINE_RWLOCK(atalk_interfaces_lock);
/* For probing devices or in a routerless network */
struct atalk_route atrtr_default;
retval = -ENOBUFS;
if (!rt)
- goto out;
+ goto out_unlock;
memset(rt, 0, sizeof(*rt));
rt->next = atalk_routes;
* Called when a device is downed. Just throw away any routes
* via it.
*/
-void atrtr_device_down(struct net_device *dev)
+static void atrtr_device_down(struct net_device *dev)
{
struct atalk_route **r = &atalk_routes;
struct atalk_route *tmp;
case SIOCSIFHWADDR:
case SIOCGIFFLAGS:
case SIOCSIFFLAGS:
+ case SIOCGIFTXQLEN:
+ case SIOCSIFTXQLEN:
case SIOCGIFMTU:
case SIOCGIFCONF:
case SIOCADDMULTI:
.notifier_call = ddp_device_event,
};
-struct packet_type ltalk_packet_type = {
+static struct packet_type ltalk_packet_type = {
.type = __constant_htons(ETH_P_LOCALTALK),
.func = ltalk_rcv,
};
-struct packet_type ppptalk_packet_type = {
+static struct packet_type ppptalk_packet_type = {
.type = __constant_htons(ETH_P_PPPTALK),
.func = atalk_rcv,
};