On Thursday 08 October 2009 20:47:25 Jiri Kosina wrote: > On Thu, 8 Oct 2009, Alexander Strakh wrote: > > > KERNEL_VERSION: 2.6.31 > > DESCRIBE: > > In driver ./drivers/media/radio/radio-gemtek-pci.c > > mutex_lock is called first time in line 184, then in line 186 > > gemtek_pci_setfrequency is called. > > > > 182 static void gemtek_pci_unmute(struct gemtek_pci *card) > > 183 { > > 184 mutex_lock(&card->lock); > > 185 if (card->mute) { > > 186 gemtek_pci_setfrequency(card, card->current_frequency); > > 187 card->mute = false; > > 188 } > > 189 mutex_unlock(&card->lock);190 } > > > > In gemtek_pci_setfrequency we call mutex_lock again in line 152 > > > > 144 static void gemtek_pci_setfrequency(struct gemtek_pci *card, unsigned long > > frequency) > > 145 { > > 146 int i; > > 147 u32 value = frequency / 200 + 856; > > 148 u16 mask = 0x8000; > > 149 u8 last_byte; > > 150 u32 port = card->iobase; > > 151 > > 152 mutex_lock(&card->lock); > > Good catch. Adding Hans, who added the (incorrect) locking into > gemtek_pci_unmute(), to CC. > Thanks, I've committed a fix and will post a pull request later today. Sorry for the late reply, but I've been abroad for some time. Regards, Hans -- Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html