summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2009-06-08 15:53:46 +0200
committerJoerg Roedel <joerg.roedel@amd.com>2009-06-08 15:53:46 +0200
commit0bf841281e58d0b3cc9fe9dc4383df7694bde6bd (patch)
treeb45e799974aa94c8d1e5c89bbd3dcd5c69d26991
parentbe81c6ea23b8b471141734ef4bc005f5127aaf43 (diff)
downloadlinux-stable-0bf841281e58d0b3cc9fe9dc4383df7694bde6bd.tar.gz
linux-stable-0bf841281e58d0b3cc9fe9dc4383df7694bde6bd.tar.bz2
linux-stable-0bf841281e58d0b3cc9fe9dc4383df7694bde6bd.zip
dma-debug: simplify logic in driver_filter()
This patch makes the driver_filter function more readable by reorganizing the code. The removal of a code code block to an upper indentation level makes hard-to-read line-wraps unnecessary. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
-rw-r--r--lib/dma-debug.c42
1 files changed, 21 insertions, 21 deletions
diff --git a/lib/dma-debug.c b/lib/dma-debug.c
index 27b369da52c0..ad65fc0317d9 100644
--- a/lib/dma-debug.c
+++ b/lib/dma-debug.c
@@ -147,6 +147,10 @@ static inline void dump_entry_trace(struct dma_debug_entry *entry)
static bool driver_filter(struct device *dev)
{
+ struct device_driver *drv;
+ unsigned long flags;
+ bool ret;
+
/* driver filter off */
if (likely(!current_driver_name[0]))
return true;
@@ -155,32 +159,28 @@ static bool driver_filter(struct device *dev)
if (current_driver && dev->driver == current_driver)
return true;
- /* driver filter on but not yet initialized */
- if (!current_driver && current_driver_name[0]) {
- struct device_driver *drv = get_driver(dev->driver);
- unsigned long flags;
- bool ret = false;
-
- if (!drv)
- return false;
-
- /* lock to protect against change of current_driver_name */
- read_lock_irqsave(&driver_name_lock, flags);
+ if (current_driver || !current_driver_name[0])
+ return false;
- if (drv->name &&
- strncmp(current_driver_name, drv->name,
- NAME_MAX_LEN-1) == 0) {
- current_driver = drv;
- ret = true;
- }
+ /* driver filter on but not yet initialized */
+ drv = get_driver(dev->driver);
+ if (!drv)
+ return false;
- read_unlock_irqrestore(&driver_name_lock, flags);
- put_driver(drv);
+ /* lock to protect against change of current_driver_name */
+ read_lock_irqsave(&driver_name_lock, flags);
- return ret;
+ ret = false;
+ if (drv->name &&
+ strncmp(current_driver_name, drv->name, NAME_MAX_LEN - 1) == 0) {
+ current_driver = drv;
+ ret = true;
}
- return false;
+ read_unlock_irqrestore(&driver_name_lock, flags);
+ put_driver(drv);
+
+ return ret;
}
#define err_printk(dev, entry, format, arg...) do { \