[dahdi-commits] dahdi/linux.git branch "master" updated.

SVN commits to the DAHDI project dahdi-commits at lists.digium.com
Fri Nov 29 15:43:18 CST 2013


branch "master" has been updated
       via  4bfdd8bea5f2f7b85a9cce3818e4d59fc7bde263 (commit)
      from  c0d52a04cb5c07e239ad03a374ac193dce722977 (commit)

Summary of changes:
 drivers/dahdi/dahdi-sysfs.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


- Log -----------------------------------------------------------------
commit 4bfdd8bea5f2f7b85a9cce3818e4d59fc7bde263
Author: Shaun Ruffell <sruffell at digium.com>
Date:   Fri Nov 29 15:14:27 2013 -0600

    dahdi: Remove "ddev" symlink before unregistering the span device.
    
    This makes the order of operations for device removal symmetrical with those for
    device addition. This change also eliminates the following warning when
    unloading dahdi after dynamic spans have been created:
    
      ------------[ cut here ]------------
      WARNING: at /build/buildd/linux-3.2.0/fs/sysfs/inode.c:324 sysfs_hash_and_remove+0x92/0xa0()
      Hardware name: VirtualBox
      sysfs: can not remove 'ddev', no directory
      Modules linked in: dahdi_dynamic_loc(O-) dahdi_dynamic(O) dahdi(O) crc_ccitt
         hdlc_cisco hdlc vboxvideo(O) drm vboxsf(O) vesafb ppdev psmouse parport_pc
         serio_raw mac_hid vboxguest(O) nfsd nfs i2c_piix4 lockd fscache auth_rpcgss
         nfs_acl sunrpc ext2 lp parport e1000 [last unloaded: dahdi]
      Pid: 3533, comm: rmmod Tainted: G        W  O 3.2.0-56-generic-pae #86-Ubuntu
      Call Trace:
       [<c105ab42>] warn_slowpath_common+0x72/0xa0
       [<c11a7992>] ? sysfs_hash_and_remove+0x92/0xa0
       [<c11a7992>] ? sysfs_hash_and_remove+0x92/0xa0
       [<c105ac13>] warn_slowpath_fmt+0x33/0x40
       [<c11a7992>] sysfs_hash_and_remove+0x92/0xa0
       [<c1385427>] ? device_del+0x127/0x150
       [<c11a9bd0>] sysfs_remove_link+0x20/0x30
       [<d8a03fa3>] span_sysfs_remove+0xa3/0x170 [dahdi]
       [<c1036a88>] ? default_spin_lock_flags+0x8/0x10
       [<d89f7e5e>] _dahdi_unassign_span+0xae/0x210 [dahdi]
       [<c1053f6b>] ? __cond_resched+0x1b/0x30
       [<c15a9859>] ? _cond_resched+0x29/0x30
       [<d89f80a3>] dahdi_unregister_device+0xe3/0x190 [dahdi]
       [<d8936464>] dahdi_dynamic_unregister_driver+0x84/0x130 [dahdi_dynamic]
       [<d89284ed>] dahdi_dynamic_local_exit+0xd/0xb20 [dahdi_dynamic_loc]
       [<c1095995>] sys_delete_module+0x135/0x230
       [<c1110063>] ? pagetypeinfo_show.part.8+0x33/0x100
       [<c15b295f>] sysenter_do_call+0x12/0x28
      ---[ end trace b818e326720c8385 ]---
    
    Signed-off-by: Shaun Ruffell <sruffell at digium.com>

diff --git a/drivers/dahdi/dahdi-sysfs.c b/drivers/dahdi/dahdi-sysfs.c
index 6b1962c..9583e63 100644
--- a/drivers/dahdi/dahdi-sysfs.c
+++ b/drivers/dahdi/dahdi-sysfs.c
@@ -328,8 +328,8 @@ void span_sysfs_remove(struct dahdi_span *span)
 
 	get_device(span_device);
 	span_uevent_send(span, KOBJ_OFFLINE);
-	device_unregister(span->span_device);
 	sysfs_remove_link(&span_device->kobj, "ddev");
+	device_unregister(span->span_device);
 	dev_set_drvdata(span_device, NULL);
 	span_device->parent = NULL;
 	put_device(span_device);

-----------------------------------------------------------------------


-- 
dahdi/linux.git



More information about the dahdi-commits mailing list