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

SVN commits to the DAHDI project dahdi-commits at lists.digium.com
Tue Jan 20 08:44:31 CST 2015


branch "master" has been updated
       via  4d86a8f3f690ee9bb9429e17cc03856c6c2dc760 (commit)
       via  e005030995d5942a91095add9b8dee9390c96dd1 (commit)
      from  ee691c23f4069a1097cab8066c9787c68ee03ea8 (commit)

Summary of changes:
 drivers/dahdi/dahdi-base.c        |    4 ++++
 drivers/dahdi/dahdi_dynamic_eth.c |    5 ++++-
 2 files changed, 8 insertions(+), 1 deletion(-)


- Log -----------------------------------------------------------------
commit 4d86a8f3f690ee9bb9429e17cc03856c6c2dc760
Author: Shaun Ruffell <sruffell at digium.com>
Date:   Mon Dec 22 11:21:28 2014 -0600

    dahdi: struct file.f_dentry macro was removed in kernel 3.19
    
    This is necessary to build against kernel version 3.19 since commit
    (78d28e651f97866d608d9b41 "kill f_dentry macro") [1]
    
    [1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=78d28e651
    
    Signed-off-by: Shaun Ruffell <sruffell at digium.com>
    Signed-off-by: Russ Meyerriecks <rmeyerriecks at digium.com>

diff --git a/drivers/dahdi/dahdi-base.c b/drivers/dahdi/dahdi-base.c
index 0892734..f2caad0 100644
--- a/drivers/dahdi/dahdi-base.c
+++ b/drivers/dahdi/dahdi-base.c
@@ -98,7 +98,11 @@
 #define chan_to_netdev(h) ((h)->hdlcnetdev->netdev)
 
 /* macro-oni for determining a unit (channel) number */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 20)
 #define	UNIT(file) MINOR(file->f_dentry->d_inode->i_rdev)
+#else
+#define	UNIT(file) MINOR(file->f_path.dentry->d_inode->i_rdev)
+#endif
 
 EXPORT_SYMBOL(dahdi_transcode_fops);
 EXPORT_SYMBOL(dahdi_init_tone_state);

commit e005030995d5942a91095add9b8dee9390c96dd1
Author: Shaun Ruffell <sruffell at digium.com>
Date:   Wed Dec 10 08:39:39 2014 -0600

    dahdi_dynamic: Release reference count on network device when destroying dynamic spans.
    
    It was reported that for VLAN interfaces, failing to release this reference
    count will prevent a system from rebooting properly, resulting in the need to
    power cycle.
    
    Reported-by: Assen Totin
    Internal-Issue-ID: DAHLIN-343
    Signed-off-by: Shaun Ruffell <sruffell at digium.com>
    Signed-off-by: Russ Meyerriecks <rmeyerriecks at digium.com>

diff --git a/drivers/dahdi/dahdi_dynamic_eth.c b/drivers/dahdi/dahdi_dynamic_eth.c
index e92ba30..ab63d71 100644
--- a/drivers/dahdi/dahdi_dynamic_eth.c
+++ b/drivers/dahdi/dahdi_dynamic_eth.c
@@ -266,6 +266,7 @@ static void ztdeth_destroy(struct dahdi_dynamic *dyn)
 	struct ztdeth *z = dyn->pvt;
 	unsigned long flags;
 	struct ztdeth *prev=NULL, *cur;
+
 	spin_lock_irqsave(&zlock, flags);
 	cur = zdevs;
 	while(cur) {
@@ -279,12 +280,14 @@ static void ztdeth_destroy(struct dahdi_dynamic *dyn)
 		prev = cur;
 		cur = cur->next;
 	}
+	spin_unlock_irqrestore(&zlock, flags);
+
 	if (cur == z) {	/* Successfully removed */
 		dyn->pvt = NULL;
+		dev_put(z->dev);
 		printk(KERN_INFO "TDMoE: Removed interface for %s\n", z->span->name);
 		kfree(z);
 	}
-	spin_unlock_irqrestore(&zlock, flags);
 }
 
 static int ztdeth_create(struct dahdi_dynamic *dyn, const char *addr)

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


-- 
dahdi/linux.git



More information about the dahdi-commits mailing list