Project

General

Profile

Actions

Bug #1839

open

Ldv-manager can't find bug in driver

Added by Ilja Zakharov about 13 years ago. Updated about 13 years ago.

Status:
Open
Priority:
Normal
Assignee:
Category:
Environment Generation
Start date:
09/28/2011
Due date:
% Done:

0%

Estimated time:
Detected in build:
svn
Platform:
Linux x86
Published in build:

Description

In driver gpio/pca953x.c was added artificial bug on 32 rule (lock-unlock), but result of cheking was safe.

Checked various changes, one of them:

static void pca953x_irq_bus_sync_unlock(struct irq_data *d) {
struct pca953x_chip chip = irq_data_get_irq_chip_data(d);
uint16_t new_irqs;
uint16_t level;
mutex_lock(&chip->irq_lock);
/
Look for any newly setup interrupt */
new_irqs = chip->irq_trig_fall | chip->irq_trig_raise;
new_irqs &= ~chip->reg_direction;

while (new_irqs) {
level = __ffs(new_irqs);
pca953x_gpio_direction_input(&chip->gpio_chip, level);
new_irqs &= ~(1 << level);
}

// mutex_unlock(&chip->irq_lock);
}


Files

pca953x.tar.bz2 (3.83 KB) pca953x.tar.bz2 Ilja Zakharov, 10/04/2011 02:05 PM
Actions

Also available in: Atom PDF