Path: csiph.com!news.redatomik.org!weretis.net!feeder4.news.weretis.net!news.unit0.net!news.panservice.it!diesel.cu.mi.it!bofh.it!news.nic.it!robomod From: Jason Wang Newsgroups: linux.kernel Subject: Re: [PATCH 04/10] drm/virtio: annotate virtio_gpu_queue_ctrl_buffer_locked Date: Wed, 07 Dec 2016 05:20:01 +0100 Message-ID: References: X-Original-To: "Michael S. Tsirkin" , linux-kernel@vger.kernel.org User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Wed, 07 Dec 2016 04:15:49 +0000 (UTC) Sender: robomod@news.nic.it List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Approved: robomod@news.nic.it Lines: 27 Organization: linux.* mail to news gateway X-Original-Cc: David Airlie , Gerd Hoffmann , dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org X-Original-Date: Wed, 7 Dec 2016 12:15:44 +0800 X-Original-Message-ID: <708d9c01-5a59-3d78-37c4-7cb848b50f3a@redhat.com> X-Original-References: <1481038106-24899-1-git-send-email-mst@redhat.com> <1481038106-24899-5-git-send-email-mst@redhat.com> X-Original-Sender: linux-kernel-owner@vger.kernel.org Xref: csiph.com linux.kernel:1537476 On 2016年12月06日 23:40, Michael S. Tsirkin wrote: > virtio_gpu_queue_ctrl_buffer_locked is called with ctrlq.qlock taken, it > releases and acquires this lock. This causes a sparse warning. Add > appropriate annotations for sparse context checking. > > Signed-off-by: Michael S. Tsirkin > --- > drivers/gpu/drm/virtio/virtgpu_vq.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/virtio/virtgpu_vq.c b/drivers/gpu/drm/virtio/virtgpu_vq.c > index 2f0c2f9..a6e2ce4 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_vq.c > +++ b/drivers/gpu/drm/virtio/virtgpu_vq.c > @@ -297,6 +297,8 @@ void virtio_gpu_dequeue_cursor_func(struct work_struct *work) > > static int virtio_gpu_queue_ctrl_buffer_locked(struct virtio_gpu_device *vgdev, > struct virtio_gpu_vbuffer *vbuf) > + __releases(&vgdev->ctrlq.qlock) > + __acquires(&vgdev->ctrlq.qlock) > { > struct virtqueue *vq = vgdev->ctrlq.vq; > struct scatterlist *sgs[3], vcmd, vout, vresp; Reviewed-by: Jason Wang