]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/e1000e/ich8lan.c
Merge branch 'topic/aoa' into for-linus
[linux-2.6-omap-h63xx.git] / drivers / net / e1000e / ich8lan.c
index f2a5963b5a9562f153391c4f2b8b364742736d1b..e415e81ecd3e399cf9a3e63b7737bf41b107bdaf 100644 (file)
@@ -390,7 +390,8 @@ static s32 e1000_get_variants_ich8lan(struct e1000_adapter *adapter)
 }
 
 static DEFINE_MUTEX(nvm_mutex);
-static pid_t nvm_owner = -1;
+static pid_t nvm_owner_pid = -1;
+static char nvm_owner_name[TASK_COMM_LEN] = "";
 
 /**
  *  e1000_acquire_swflag_ich8lan - Acquire software control flag
@@ -408,11 +409,15 @@ static s32 e1000_acquire_swflag_ich8lan(struct e1000_hw *hw)
        might_sleep();
 
        if (!mutex_trylock(&nvm_mutex)) {
-               WARN(1, KERN_ERR "e1000e mutex contention. Owned by pid %d\n",
-                    nvm_owner);
+               WARN(1, KERN_ERR "e1000e mutex contention. Owned by process "
+                    "%s (pid %d), required by process %s (pid %d)\n",
+                    nvm_owner_name, nvm_owner_pid,
+                    current->comm, current->pid);
+
                mutex_lock(&nvm_mutex);
        }
-       nvm_owner = current->pid;
+       nvm_owner_pid = current->pid;
+       strncpy(nvm_owner_name, current->comm, TASK_COMM_LEN);
 
        while (timeout) {
                extcnf_ctrl = er32(EXTCNF_CTRL);
@@ -430,7 +435,8 @@ static s32 e1000_acquire_swflag_ich8lan(struct e1000_hw *hw)
                hw_dbg(hw, "FW or HW has locked the resource for too long.\n");
                extcnf_ctrl &= ~E1000_EXTCNF_CTRL_SWFLAG;
                ew32(EXTCNF_CTRL, extcnf_ctrl);
-               nvm_owner = -1;
+               nvm_owner_pid = -1;
+               strcpy(nvm_owner_name, "");
                mutex_unlock(&nvm_mutex);
                return -E1000_ERR_CONFIG;
        }
@@ -454,7 +460,8 @@ static void e1000_release_swflag_ich8lan(struct e1000_hw *hw)
        extcnf_ctrl &= ~E1000_EXTCNF_CTRL_SWFLAG;
        ew32(EXTCNF_CTRL, extcnf_ctrl);
 
-       nvm_owner = -1;
+       nvm_owner_pid = -1;
+       strcpy(nvm_owner_name, "");
        mutex_unlock(&nvm_mutex);
 }