[bug report] [media] v4l: vsp1: Add histogram support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Laurent Pinchart,

Commit 99362e32332b ("[media] v4l: vsp1: Add histogram support") from
Sep 7, 2016 (linux-next), leads to the following Smatch static
checker warning:

	drivers/media/platform/renesas/vsp1/vsp1_histo.c:153 histo_stop_streaming()
	warn: mixing irqsave and irq

drivers/media/platform/renesas/vsp1/vsp1_histo.c
    139 static void histo_stop_streaming(struct vb2_queue *vq)
    140 {
    141         struct vsp1_histogram *histo = vb2_get_drv_priv(vq);
    142         struct vsp1_histogram_buffer *buffer;
    143         unsigned long flags;
    144 
    145         spin_lock_irqsave(&histo->irqlock, flags);

_irqsave() means that perhaps the caller already has IRQs disabled.

    146 
    147         /* Remove all buffers from the IRQ queue. */
    148         list_for_each_entry(buffer, &histo->irqqueue, queue)
    149                 vb2_buffer_done(&buffer->buf.vb2_buf, VB2_BUF_STATE_ERROR);
    150         INIT_LIST_HEAD(&histo->irqqueue);
    151 
    152         /* Wait for the buffer being read out (if any) to complete. */
--> 153         wait_event_lock_irq(histo->wait_queue, !histo->readout, histo->irqlock);
                               ^^^^
This briefly enables IRQs

    154 
    155         spin_unlock_irqrestore(&histo->irqlock, flags);
                           ^^^^^^^^^^^
This resets it back to what we want.

    156 }

regards,
dan carpenter




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux