diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-29 20:43:43 -0400 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-29 20:43:43 -0400 | 
| commit | 74e651f0aa100f3e5d3432a8dd8869c089e8d72f (patch) | |
| tree | 457e8d6ec4c28f3b1f3f4fcbf45df9b91f9ee9c7 /net/atm/resources.c | |
| parent | 6002e45045a190a112bc3bc2134d0ff4fac7ced7 (diff) | |
| parent | 0702056f9f41274a06e21cb05f12b4265b4867a2 (diff) | |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (30 commits)
  [TIPC]: Initial activation message now includes TIPC version number
  [TIPC]: Improve response to requests for node/link information
  [TIPC]: Fixed skb_under_panic caused by tipc_link_bundle_buf
  [IrDA]: Fix the AU1000 FIR dependencies
  [IrDA]: Fix RCU lock pairing on error path
  [XFRM]: unexport xfrm_state_mtu
  [NET]: make skb_release_data() static
  [NETFILTE] ipv4: Fix typo (Bugzilla #6753)
  [IrDA]: MCS7780 usb_driver struct should be static
  [BNX2]: Turn off link during shutdown
  [BNX2]: Use dev_kfree_skb() instead of the _irq version
  [ATM]: basic sysfs support for ATM devices
  [ATM]: [suni] change suni_init to __devinit
  [ATM]: [iphase] should be __devinit not __init
  [ATM]: [idt77105] should be __devinit not __init
  [BNX2]: Add NETIF_F_TSO_ECN
  [NET]: Add ECN support for TSO
  [AF_UNIX]: Datagram getpeersec
  [NET]: Fix logical error in skb_gso_ok
  [PKT_SCHED]: PSCHED_TADD() and PSCHED_TADD2() can result,tv_usec >= 1000000
  ...
Diffstat (limited to 'net/atm/resources.c')
| -rw-r--r-- | net/atm/resources.c | 22 | 
1 files changed, 18 insertions, 4 deletions
diff --git a/net/atm/resources.c b/net/atm/resources.c index 18ac80698f83..534baf704056 100644 --- a/net/atm/resources.c +++ b/net/atm/resources.c  | |||
| @@ -114,14 +114,27 @@ struct atm_dev *atm_dev_register(const char *type, const struct atmdev_ops *ops, | |||
| 114 | printk(KERN_ERR "atm_dev_register: " | 114 | printk(KERN_ERR "atm_dev_register: " | 
| 115 | "atm_proc_dev_register failed for dev %s\n", | 115 | "atm_proc_dev_register failed for dev %s\n", | 
| 116 | type); | 116 | type); | 
| 117 | mutex_unlock(&atm_dev_mutex); | 117 | goto out_fail; | 
| 118 | kfree(dev); | 118 | } | 
| 119 | return NULL; | 119 | |
| 120 | if (atm_register_sysfs(dev) < 0) { | ||
| 121 | printk(KERN_ERR "atm_dev_register: " | ||
| 122 | "atm_register_sysfs failed for dev %s\n", | ||
| 123 | type); | ||
| 124 | atm_proc_dev_deregister(dev); | ||
| 125 | goto out_fail; | ||
| 120 | } | 126 | } | 
| 127 | |||
| 121 | list_add_tail(&dev->dev_list, &atm_devs); | 128 | list_add_tail(&dev->dev_list, &atm_devs); | 
| 122 | mutex_unlock(&atm_dev_mutex); | ||
| 123 | 129 | ||
| 130 | out: | ||
| 131 | mutex_unlock(&atm_dev_mutex); | ||
| 124 | return dev; | 132 | return dev; | 
| 133 | |||
| 134 | out_fail: | ||
| 135 | kfree(dev); | ||
| 136 | dev = NULL; | ||
| 137 | goto out; | ||
| 125 | } | 138 | } | 
| 126 | 139 | ||
| 127 | 140 | ||
| @@ -140,6 +153,7 @@ void atm_dev_deregister(struct atm_dev *dev) | |||
| 140 | mutex_unlock(&atm_dev_mutex); | 153 | mutex_unlock(&atm_dev_mutex); | 
| 141 | 154 | ||
| 142 | atm_dev_release_vccs(dev); | 155 | atm_dev_release_vccs(dev); | 
| 156 | atm_unregister_sysfs(dev); | ||
| 143 | atm_proc_dev_deregister(dev); | 157 | atm_proc_dev_deregister(dev); | 
| 144 | 158 | ||
| 145 | atm_dev_put(dev); | 159 | atm_dev_put(dev); | 
