Showing error 1270

User: Jiri Slaby
Error type: Leaving function in locked state
Error type description: Some lock is not unlocked on all paths of a function, so it is leaked
File location: drivers/ide/ide-iops.c
Line in file: 312
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-05-21 20:30:05 UTC


Source:

 282
 283        if (io_32bit) {
 284                unsigned long uninitialized_var(flags);
 285
 286                if ((io_32bit & 2) && !mmio) {
 287                        local_irq_save(flags);
 288                        ata_vlb_sync(io_ports->nsect_addr);
 289                }
 290
 291                if (mmio)
 292                        __ide_mm_insl((void __iomem *)data_addr, buf, len / 4);
 293                else
 294                        insl(data_addr, buf, len / 4);
 295
 296                if ((io_32bit & 2) && !mmio)
 297                        local_irq_restore(flags);
 298
 299                if ((len & 3) >= 2) {
 300                        if (mmio)
 301                                __ide_mm_insw((void __iomem *)data_addr,
 302                                                (u8 *)buf + (len & ~3), 1);
 303                        else
 304                                insw(data_addr, (u8 *)buf + (len & ~3), 1);
 305                }
 306        } else {
 307                if (mmio)
 308                        __ide_mm_insw((void __iomem *)data_addr, buf, len / 2);
 309                else
 310                        insw(data_addr, buf, len / 2);
 311        }
 312}
 313EXPORT_SYMBOL_GPL(ide_input_data);
 314
 315/*
 316 * This is used for most PIO data transfers *to* the IDE interface
 317 */
 318void ide_output_data(ide_drive_t *drive, struct request *rq, void *buf,
 319                     unsigned int len)
 320{
 321        ide_hwif_t *hwif = drive->hwif;
 322        struct ide_io_ports *io_ports = &hwif->io_ports;
Show full sources