Re: Missing Symbol in mac80211.ko

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/14/2014 10:38 PM, Daniel Schultze wrote:
> Developers,
> 
> While trying to upgrade from backports v3.11.8 to v3.13.2 I ran into
> this warning:
> 
> WARNING: "atomic64_set"
> [/home/dschultze/dump/ltib-trunk/rpm/BUILD/backports-3.13.2-1/net/mac80211/mac80211.ko]
> undefined!
> 
> I have verified that the kernel (v2.6.31, arm) does indeed have a
> definition for this function but for some reason mac80211.ko cannot
> see it. I was able to use the following patch as a hack to provide an
> implementation for mac80211.ko.
> 

Hi Daniel,

could you try the attached patch. Some old kernel versions are missing
the implementations for these atomic64 operations and we already added
some of them, but atomic64_set() was missing.

Hauke
>From 966462037efecbead20898633ea55b6c5e90b9a5 Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@xxxxxxxxxx>
Date: Fri, 21 Feb 2014 18:59:25 +0100
Subject: [PATCH 2/3] backports: add atomic64_set()

---
 backport/compat/compat_atomic.c |   10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/backport/compat/compat_atomic.c b/backport/compat/compat_atomic.c
index b8565aa..ae5eb1e 100644
--- a/backport/compat/compat_atomic.c
+++ b/backport/compat/compat_atomic.c
@@ -17,6 +17,16 @@ long long atomic64_read(const atomic64_t *v)
 }
 EXPORT_SYMBOL_GPL(atomic64_read);
 
+void atomic64_set(atomic64_t *v, long long i)
+{
+	unsigned long flags;
+
+	spin_lock_irqsave(&lock, flags);
+	v->counter = i;
+	spin_unlock_irqrestore(&lock, flags);
+}
+EXPORT_SYMBOL_GPL(atomic64_set);
+
 long long atomic64_add_return(long long a, atomic64_t *v)
 {
     unsigned long flags;
-- 
1.7.10.4


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux