Loading net/dcb/dcbnl.c +22 −25 Original line number Diff line number Diff line Loading @@ -1732,6 +1732,21 @@ static struct dcb_app_type *dcb_app_lookup(const struct dcb_app *app, return NULL; } static int dcb_app_add(const struct dcb_app *app, int ifindex) { struct dcb_app_type *entry; entry = kmalloc(sizeof(*entry), GFP_ATOMIC); if (!entry) return -ENOMEM; memcpy(&entry->app, app, sizeof(*app)); entry->ifindex = ifindex; list_add(&entry->list, &dcb_app_list); return 0; } /** * dcb_getapp - retrieve the DCBX application user priority * Loading Loading @@ -1764,6 +1779,7 @@ int dcb_setapp(struct net_device *dev, struct dcb_app *new) { struct dcb_app_type *itr; struct dcb_app_type event; int err = 0; event.ifindex = dev->ifindex; memcpy(&event.app, new, sizeof(event.app)); Loading @@ -1782,22 +1798,13 @@ int dcb_setapp(struct net_device *dev, struct dcb_app *new) goto out; } /* App type does not exist add new application type */ if (new->priority) { struct dcb_app_type *entry; entry = kmalloc(sizeof(struct dcb_app_type), GFP_ATOMIC); if (!entry) { spin_unlock(&dcb_lock); return -ENOMEM; } memcpy(&entry->app, new, sizeof(*new)); entry->ifindex = dev->ifindex; list_add(&entry->list, &dcb_app_list); } if (new->priority) err = dcb_app_add(new, dev->ifindex); out: spin_unlock(&dcb_lock); if (!err) call_dcbevent_notifiers(DCB_APP_EVENT, &event); return 0; return err; } EXPORT_SYMBOL(dcb_setapp); Loading Loading @@ -1831,7 +1838,6 @@ EXPORT_SYMBOL(dcb_ieee_getapp_mask); */ int dcb_ieee_setapp(struct net_device *dev, struct dcb_app *new) { struct dcb_app_type *entry; struct dcb_app_type event; int err = 0; Loading @@ -1847,16 +1853,7 @@ int dcb_ieee_setapp(struct net_device *dev, struct dcb_app *new) goto out; } /* App entry does not exist add new entry */ entry = kmalloc(sizeof(struct dcb_app_type), GFP_ATOMIC); if (!entry) { err = -ENOMEM; goto out; } memcpy(&entry->app, new, sizeof(*new)); entry->ifindex = dev->ifindex; list_add(&entry->list, &dcb_app_list); err = dcb_app_add(new, dev->ifindex); out: spin_unlock(&dcb_lock); if (!err) Loading Loading
net/dcb/dcbnl.c +22 −25 Original line number Diff line number Diff line Loading @@ -1732,6 +1732,21 @@ static struct dcb_app_type *dcb_app_lookup(const struct dcb_app *app, return NULL; } static int dcb_app_add(const struct dcb_app *app, int ifindex) { struct dcb_app_type *entry; entry = kmalloc(sizeof(*entry), GFP_ATOMIC); if (!entry) return -ENOMEM; memcpy(&entry->app, app, sizeof(*app)); entry->ifindex = ifindex; list_add(&entry->list, &dcb_app_list); return 0; } /** * dcb_getapp - retrieve the DCBX application user priority * Loading Loading @@ -1764,6 +1779,7 @@ int dcb_setapp(struct net_device *dev, struct dcb_app *new) { struct dcb_app_type *itr; struct dcb_app_type event; int err = 0; event.ifindex = dev->ifindex; memcpy(&event.app, new, sizeof(event.app)); Loading @@ -1782,22 +1798,13 @@ int dcb_setapp(struct net_device *dev, struct dcb_app *new) goto out; } /* App type does not exist add new application type */ if (new->priority) { struct dcb_app_type *entry; entry = kmalloc(sizeof(struct dcb_app_type), GFP_ATOMIC); if (!entry) { spin_unlock(&dcb_lock); return -ENOMEM; } memcpy(&entry->app, new, sizeof(*new)); entry->ifindex = dev->ifindex; list_add(&entry->list, &dcb_app_list); } if (new->priority) err = dcb_app_add(new, dev->ifindex); out: spin_unlock(&dcb_lock); if (!err) call_dcbevent_notifiers(DCB_APP_EVENT, &event); return 0; return err; } EXPORT_SYMBOL(dcb_setapp); Loading Loading @@ -1831,7 +1838,6 @@ EXPORT_SYMBOL(dcb_ieee_getapp_mask); */ int dcb_ieee_setapp(struct net_device *dev, struct dcb_app *new) { struct dcb_app_type *entry; struct dcb_app_type event; int err = 0; Loading @@ -1847,16 +1853,7 @@ int dcb_ieee_setapp(struct net_device *dev, struct dcb_app *new) goto out; } /* App entry does not exist add new entry */ entry = kmalloc(sizeof(struct dcb_app_type), GFP_ATOMIC); if (!entry) { err = -ENOMEM; goto out; } memcpy(&entry->app, new, sizeof(*new)); entry->ifindex = dev->ifindex; list_add(&entry->list, &dcb_app_list); err = dcb_app_add(new, dev->ifindex); out: spin_unlock(&dcb_lock); if (!err) Loading