From: Joe Perches <joe@perches.com> To: SF Markus Elfring <elfring@users.sourceforge.net> Cc: Andreas Noever <andreas.noever@gmail.com>, LKML <linux-kernel@vger.kernel.org>, kernel-janitors@vger.kernel.org, Julia Lawall <julia.lawall@lip6.fr> Subject: Re: thunderbolt: Deletion of unnecessary checks before the function call "ring_free" Date: Fri, 21 Nov 2014 10:14:48 -0800 [thread overview] Message-ID: <1416593688.6651.39.camel@perches.com> (raw) In-Reply-To: <546F2E50.5040804@users.sourceforge.net> On Fri, 2014-11-21 at 13:21 +0100, SF Markus Elfring wrote: > 2. Are any additional prefixes appropriate so that further name space > conflicts can be better avoided? To avoid possible external naming conflicts, add tb_ prefix to various ring_<foo> structs and functions. Other miscellanea: o typo/spelling fixes (releated/related, loose/lose) o argument alignment o comment formatting --- Perhaps something like this? unsigned/compiled/untested drivers/thunderbolt/ctl.c | 41 ++++++------- drivers/thunderbolt/nhi.c | 133 +++++++++++++++++++++-------------------- drivers/thunderbolt/nhi.h | 47 ++++++++------- drivers/thunderbolt/nhi_regs.h | 16 ++--- 4 files changed, 121 insertions(+), 116 deletions(-) diff --git a/drivers/thunderbolt/ctl.c b/drivers/thunderbolt/ctl.c index 799634b..52783e0 100644 --- a/drivers/thunderbolt/ctl.c +++ b/drivers/thunderbolt/ctl.c @@ -17,7 +17,7 @@ struct ctl_pkg { struct tb_ctl *ctl; void *buffer; - struct ring_frame frame; + struct tb_ring_frame frame; }; #define TB_CTL_RX_PKG_COUNT 10 @@ -319,8 +319,8 @@ static struct ctl_pkg *tb_ctl_pkg_alloc(struct tb_ctl *ctl) /* RX/TX handling */ -static void tb_ctl_tx_callback(struct tb_ring *ring, struct ring_frame *frame, - bool canceled) +static void tb_ctl_tx_callback(struct tb_ring *ring, + struct tb_ring_frame *frame, bool canceled) { struct ctl_pkg *pkg = container_of(frame, typeof(*pkg), frame); tb_ctl_pkg_free(pkg); @@ -357,7 +357,7 @@ static int tb_ctl_tx(struct tb_ctl *ctl, void *data, size_t len, cpu_to_be32_array(pkg->buffer, data, len / 4); *(__be32 *) (pkg->buffer + len) = tb_crc(pkg->buffer, len); - res = ring_tx(ctl->tx, &pkg->frame); + res = tb_ring_tx(ctl->tx, &pkg->frame); if (res) /* ring is stopped */ tb_ctl_pkg_free(pkg); return res; @@ -386,16 +386,16 @@ static void tb_ctl_handle_plug_event(struct tb_ctl *ctl, static void tb_ctl_rx_submit(struct ctl_pkg *pkg) { - ring_rx(pkg->ctl->rx, &pkg->frame); /* - * We ignore failures during stop. - * All rx packets are referenced - * from ctl->rx_packets, so we do - * not loose them. - */ + tb_ring_rx(pkg->ctl->rx, &pkg->frame); + /* + * We ignore failures during stop. + * All rx packets are referenced from ctl->rx_packets, + * so we do not lose them. + */ } -static void tb_ctl_rx_callback(struct tb_ring *ring, struct ring_frame *frame, - bool canceled) +static void tb_ctl_rx_callback(struct tb_ring *ring, + struct tb_ring_frame *frame, bool canceled) { struct ctl_pkg *pkg = container_of(frame, typeof(*pkg), frame); @@ -488,11 +488,11 @@ struct tb_ctl *tb_ctl_alloc(struct tb_nhi *nhi, hotplug_cb cb, void *cb_data) if (!ctl->frame_pool) goto err; - ctl->tx = ring_alloc_tx(nhi, 0, 10); + ctl->tx = tb_ring_alloc_tx(nhi, 0, 10); if (!ctl->tx) goto err; - ctl->rx = ring_alloc_rx(nhi, 0, 10); + ctl->rx = tb_ring_alloc_rx(nhi, 0, 10); if (!ctl->rx) goto err; @@ -521,9 +521,9 @@ void tb_ctl_free(struct tb_ctl *ctl) { int i; if (ctl->rx) - ring_free(ctl->rx); + tb_ring_free(ctl->rx); if (ctl->tx) - ring_free(ctl->tx); + tb_ring_free(ctl->tx); /* free RX packets */ for (i = 0; i < TB_CTL_RX_PKG_COUNT; i++) @@ -542,8 +542,9 @@ void tb_ctl_start(struct tb_ctl *ctl) { int i; tb_ctl_info(ctl, "control channel starting...\n"); - ring_start(ctl->tx); /* is used to ack hotplug packets, start first */ - ring_start(ctl->rx); + /* is used to ack hotplug packets, start first */ + tb_ring_start(ctl->tx); + tb_ring_start(ctl->rx); for (i = 0; i < TB_CTL_RX_PKG_COUNT; i++) tb_ctl_rx_submit(ctl->rx_packets[i]); } @@ -558,8 +559,8 @@ void tb_ctl_start(struct tb_ctl *ctl) */ void tb_ctl_stop(struct tb_ctl *ctl) { - ring_stop(ctl->rx); - ring_stop(ctl->tx); + tb_ring_stop(ctl->rx); + tb_ring_stop(ctl->tx); if (!kfifo_is_empty(&ctl->response_fifo)) tb_ctl_WARN(ctl, "dangling response in response_fifo\n"); diff --git a/drivers/thunderbolt/nhi.c b/drivers/thunderbolt/nhi.c index c68fe12..552683f 100644 --- a/drivers/thunderbolt/nhi.c +++ b/drivers/thunderbolt/nhi.c @@ -22,7 +22,7 @@ #define RING_TYPE(ring) ((ring)->is_tx ? "TX ring" : "RX ring") -static int ring_interrupt_index(struct tb_ring *ring) +static int tb_ring_interrupt_index(struct tb_ring *ring) { int bit = ring->hop; if (!ring->is_tx) @@ -31,14 +31,14 @@ static int ring_interrupt_index(struct tb_ring *ring) } /** - * ring_interrupt_active() - activate/deactivate interrupts for a single ring + * tb_ring_interrupt_active() - activate/deactivate interrupts for a single ring * * ring->nhi->lock must be held. */ -static void ring_interrupt_active(struct tb_ring *ring, bool active) +static void tb_ring_interrupt_active(struct tb_ring *ring, bool active) { - int reg = REG_RING_INTERRUPT_BASE + ring_interrupt_index(ring) / 32; - int bit = ring_interrupt_index(ring) & 31; + int reg = REG_RING_INTERRUPT_BASE + tb_ring_interrupt_index(ring) / 32; + int bit = tb_ring_interrupt_index(ring) & 31; int mask = 1 << bit; u32 old, new; old = ioread32(ring->nhi->iobase + reg); @@ -78,7 +78,7 @@ static void nhi_disable_interrupts(struct tb_nhi *nhi) /* ring helper methods */ -static void __iomem *ring_desc_base(struct tb_ring *ring) +static void __iomem *tb_ring_desc_base(struct tb_ring *ring) { void __iomem *io = ring->nhi->iobase; io += ring->is_tx ? REG_TX_RING_BASE : REG_RX_RING_BASE; @@ -86,7 +86,7 @@ static void __iomem *ring_desc_base(struct tb_ring *ring) return io; } -static void __iomem *ring_options_base(struct tb_ring *ring) +static void __iomem *tb_ring_options_base(struct tb_ring *ring) { void __iomem *io = ring->nhi->iobase; io += ring->is_tx ? REG_TX_OPTIONS_BASE : REG_RX_OPTIONS_BASE; @@ -94,48 +94,49 @@ static void __iomem *ring_options_base(struct tb_ring *ring) return io; } -static void ring_iowrite16desc(struct tb_ring *ring, u32 value, u32 offset) +static void tb_ring_iowrite16desc(struct tb_ring *ring, u32 value, u32 offset) { - iowrite16(value, ring_desc_base(ring) + offset); + iowrite16(value, tb_ring_desc_base(ring) + offset); } -static void ring_iowrite32desc(struct tb_ring *ring, u32 value, u32 offset) +static void tb_ring_iowrite32desc(struct tb_ring *ring, u32 value, u32 offset) { - iowrite32(value, ring_desc_base(ring) + offset); + iowrite32(value, tb_ring_desc_base(ring) + offset); } -static void ring_iowrite64desc(struct tb_ring *ring, u64 value, u32 offset) +static void tb_ring_iowrite64desc(struct tb_ring *ring, u64 value, u32 offset) { - iowrite32(value, ring_desc_base(ring) + offset); - iowrite32(value >> 32, ring_desc_base(ring) + offset + 4); + iowrite32(value, tb_ring_desc_base(ring) + offset); + iowrite32(value >> 32, tb_ring_desc_base(ring) + offset + 4); } -static void ring_iowrite32options(struct tb_ring *ring, u32 value, u32 offset) +static void tb_ring_iowrite32options(struct tb_ring *ring, u32 value, + u32 offset) { - iowrite32(value, ring_options_base(ring) + offset); + iowrite32(value, tb_ring_options_base(ring) + offset); } -static bool ring_full(struct tb_ring *ring) +static bool tb_ring_full(struct tb_ring *ring) { return ((ring->head + 1) % ring->size) == ring->tail; } -static bool ring_empty(struct tb_ring *ring) +static bool tb_ring_empty(struct tb_ring *ring) { return ring->head == ring->tail; } /** - * ring_write_descriptors() - post frames from ring->queue to the controller + * tb_ring_write_descriptors() - post frames from ring->queue to the controller * * ring->lock is held. */ -static void ring_write_descriptors(struct tb_ring *ring) +static void tb_ring_write_descriptors(struct tb_ring *ring) { - struct ring_frame *frame, *n; - struct ring_desc *descriptor; + struct tb_ring_frame *frame, *n; + struct tb_ring_desc *descriptor; list_for_each_entry_safe(frame, n, &ring->queue, list) { - if (ring_full(ring)) + if (tb_ring_full(ring)) break; list_move_tail(&frame->list, &ring->in_flight); descriptor = &ring->descriptors[ring->head]; @@ -148,12 +149,12 @@ static void ring_write_descriptors(struct tb_ring *ring) descriptor->sof = frame->sof; } ring->head = (ring->head + 1) % ring->size; - ring_iowrite16desc(ring, ring->head, ring->is_tx ? 10 : 8); + tb_ring_iowrite16desc(ring, ring->head, ring->is_tx ? 10 : 8); } } /** - * ring_work() - progress completed frames + * tb_ring_work() - progress completed frames * * If the ring is shutting down then all frames are marked as canceled and * their callbacks are invoked. @@ -161,10 +162,10 @@ static void ring_write_descriptors(struct tb_ring *ring) * Otherwise we collect all completed frame from the ring buffer, write new * frame to the ring buffer and invoke the callbacks for the completed frames. */ -static void ring_work(struct work_struct *work) +static void tb_ring_work(struct work_struct *work) { struct tb_ring *ring = container_of(work, typeof(*ring), work); - struct ring_frame *frame; + struct tb_ring_frame *frame; bool canceled = false; LIST_HEAD(done); mutex_lock(&ring->lock); @@ -177,7 +178,7 @@ static void ring_work(struct work_struct *work) goto invoke_callback; } - while (!ring_empty(ring)) { + while (!tb_ring_empty(ring)) { if (!(ring->descriptors[ring->tail].flags & RING_DESC_COMPLETED)) break; @@ -209,7 +210,7 @@ static void ring_work(struct work_struct *work) } ring->tail = (ring->tail + 1) % ring->size; } - ring_write_descriptors(ring); + tb_ring_write_descriptors(ring); invoke_callback: mutex_unlock(&ring->lock); /* allow callbacks to schedule new work */ @@ -224,13 +225,13 @@ invoke_callback: } } -int __ring_enqueue(struct tb_ring *ring, struct ring_frame *frame) +int __tb_ring_enqueue(struct tb_ring *ring, struct tb_ring_frame *frame) { int ret = 0; mutex_lock(&ring->lock); if (ring->running) { list_add_tail(&frame->list, &ring->queue); - ring_write_descriptors(ring); + tb_ring_write_descriptors(ring); } else { ret = -ESHUTDOWN; } @@ -238,8 +239,8 @@ int __ring_enqueue(struct tb_ring *ring, struct ring_frame *frame) return ret; } -static struct tb_ring *ring_alloc(struct tb_nhi *nhi, u32 hop, int size, - bool transmit) +static struct tb_ring *tb_ring_alloc(struct tb_nhi *nhi, u32 hop, int size, + bool transmit) { struct tb_ring *ring = NULL; dev_info(&nhi->pdev->dev, "allocating %s ring %d of size %d\n", @@ -264,7 +265,7 @@ static struct tb_ring *ring_alloc(struct tb_nhi *nhi, u32 hop, int size, mutex_init(&ring->lock); INIT_LIST_HEAD(&ring->queue); INIT_LIST_HEAD(&ring->in_flight); - INIT_WORK(&ring->work, ring_work); + INIT_WORK(&ring->work, tb_ring_work); ring->nhi = nhi; ring->hop = hop; @@ -294,22 +295,22 @@ err: return NULL; } -struct tb_ring *ring_alloc_tx(struct tb_nhi *nhi, int hop, int size) +struct tb_ring *tb_ring_alloc_tx(struct tb_nhi *nhi, int hop, int size) { - return ring_alloc(nhi, hop, size, true); + return tb_ring_alloc(nhi, hop, size, true); } -struct tb_ring *ring_alloc_rx(struct tb_nhi *nhi, int hop, int size) +struct tb_ring *tb_ring_alloc_rx(struct tb_nhi *nhi, int hop, int size) { - return ring_alloc(nhi, hop, size, false); + return tb_ring_alloc(nhi, hop, size, false); } /** - * ring_start() - enable a ring + * tb_ring_start() - enable a ring * - * Must not be invoked in parallel with ring_stop(). + * Must not be invoked in parallel with tb_ring_stop(). */ -void ring_start(struct tb_ring *ring) +void tb_ring_start(struct tb_ring *ring) { mutex_lock(&ring->nhi->lock); mutex_lock(&ring->lock); @@ -320,20 +321,21 @@ void ring_start(struct tb_ring *ring) dev_info(&ring->nhi->pdev->dev, "starting %s %d\n", RING_TYPE(ring), ring->hop); - ring_iowrite64desc(ring, ring->descriptors_dma, 0); + tb_ring_iowrite64desc(ring, ring->descriptors_dma, 0); if (ring->is_tx) { - ring_iowrite32desc(ring, ring->size, 12); - ring_iowrite32options(ring, 0, 4); /* time releated ? */ - ring_iowrite32options(ring, - RING_FLAG_ENABLE | RING_FLAG_RAW, 0); + tb_ring_iowrite32desc(ring, ring->size, 12); + tb_ring_iowrite32options(ring, 0, 4); /* time related ? */ + tb_ring_iowrite32options(ring, + RING_FLAG_ENABLE | RING_FLAG_RAW, 0); } else { - ring_iowrite32desc(ring, - (TB_FRAME_SIZE << 16) | ring->size, 12); - ring_iowrite32options(ring, 0xffffffff, 4); /* SOF EOF mask */ - ring_iowrite32options(ring, - RING_FLAG_ENABLE | RING_FLAG_RAW, 0); + tb_ring_iowrite32desc(ring, + (TB_FRAME_SIZE << 16) | ring->size, 12); + /* SOF EOF mask */ + tb_ring_iowrite32options(ring, 0xffffffff, 4); + tb_ring_iowrite32options(ring, + RING_FLAG_ENABLE | RING_FLAG_RAW, 0); } - ring_interrupt_active(ring, true); + tb_ring_interrupt_active(ring, true); ring->running = true; err: mutex_unlock(&ring->lock); @@ -342,18 +344,19 @@ err: /** - * ring_stop() - shutdown a ring + * tb_ring_stop() - shutdown a ring * * Must not be invoked from a callback. * - * This method will disable the ring. Further calls to ring_tx/ring_rx will - * return -ESHUTDOWN until ring_stop has been called. + * This method will disable the ring. + * Further calls to tb_ring_tx/tb_ring_rx will return -ESHUTDOWN + * until tb_ring_stop has been called. * * All enqueued frames will be canceled and their callbacks will be executed * with frame->canceled set to true (on the callback thread). This method * returns only after all callback invocations have finished. */ -void ring_stop(struct tb_ring *ring) +void tb_ring_stop(struct tb_ring *ring) { mutex_lock(&ring->nhi->lock); mutex_lock(&ring->lock); @@ -364,12 +367,12 @@ void ring_stop(struct tb_ring *ring) RING_TYPE(ring), ring->hop); goto err; } - ring_interrupt_active(ring, false); + tb_ring_interrupt_active(ring, false); - ring_iowrite32options(ring, 0, 0); - ring_iowrite64desc(ring, 0, 0); - ring_iowrite16desc(ring, 0, ring->is_tx ? 10 : 8); - ring_iowrite32desc(ring, 0, 12); + tb_ring_iowrite32options(ring, 0, 0); + tb_ring_iowrite64desc(ring, 0, 0); + tb_ring_iowrite16desc(ring, 0, ring->is_tx ? 10 : 8); + tb_ring_iowrite32desc(ring, 0, 12); ring->head = 0; ring->tail = 0; ring->running = false; @@ -386,16 +389,16 @@ err: } /* - * ring_free() - free ring + * tb_ring_free() - free ring * * When this method returns all invocations of ring->callback will have * finished. * * Ring must be stopped. * - * Must NOT be called from ring_frame->callback! + * Must NOT be called from tb_ring_frame->callback! */ -void ring_free(struct tb_ring *ring) +void tb_ring_free(struct tb_ring *ring) { mutex_lock(&ring->nhi->lock); /* @@ -428,7 +431,7 @@ void ring_free(struct tb_ring *ring) mutex_unlock(&ring->nhi->lock); /** * ring->work can no longer be scheduled (it is scheduled only by - * nhi_interrupt_work and ring_stop). Wait for it to finish before + * nhi_interrupt_work and tb_ring_stop). Wait for it to finish before * freeing the ring. */ flush_work(&ring->work); diff --git a/drivers/thunderbolt/nhi.h b/drivers/thunderbolt/nhi.h index 3172429..98f57d5 100644 --- a/drivers/thunderbolt/nhi.h +++ b/drivers/thunderbolt/nhi.h @@ -37,7 +37,7 @@ struct tb_ring { int hop; int head; /* write next descriptor here */ int tail; /* complete next descriptor here */ - struct ring_desc *descriptors; + struct tb_ring_desc *descriptors; dma_addr_t descriptors_dma; struct list_head queue; struct list_head in_flight; @@ -46,15 +46,16 @@ struct tb_ring { bool running:1; }; -struct ring_frame; -typedef void (*ring_cb)(struct tb_ring*, struct ring_frame*, bool canceled); +struct tb_ring_frame; +typedef void (*tb_ring_cb)(struct tb_ring *ring, struct tb_ring_frame *frame, + bool canceled); /** - * struct ring_frame - for use with ring_rx/ring_tx + * struct tb_ring_frame - for use with tb_ring_rx/tb_ring_tx */ -struct ring_frame { +struct tb_ring_frame { dma_addr_t buffer_phy; - ring_cb callback; + tb_ring_cb callback; struct list_head list; u32 size:12; /* TX: in, RX: out*/ u32 flags:12; /* RX: out */ @@ -62,18 +63,18 @@ struct ring_frame { u32 sof:4; /* TX:in, RX: out */ }; -#define TB_FRAME_SIZE 0x100 /* minimum size for ring_rx */ +#define TB_FRAME_SIZE 0x100 /* minimum size for tb_ring_rx */ -struct tb_ring *ring_alloc_tx(struct tb_nhi *nhi, int hop, int size); -struct tb_ring *ring_alloc_rx(struct tb_nhi *nhi, int hop, int size); -void ring_start(struct tb_ring *ring); -void ring_stop(struct tb_ring *ring); -void ring_free(struct tb_ring *ring); +struct tb_ring *tb_ring_alloc_tx(struct tb_nhi *nhi, int hop, int size); +struct tb_ring *tb_ring_alloc_rx(struct tb_nhi *nhi, int hop, int size); +void tb_ring_start(struct tb_ring *ring); +void tb_ring_stop(struct tb_ring *ring); +void tb_ring_free(struct tb_ring *ring); -int __ring_enqueue(struct tb_ring *ring, struct ring_frame *frame); +int __tb_ring_enqueue(struct tb_ring *ring, struct tb_ring_frame *frame); /** - * ring_rx() - enqueue a frame on an RX ring + * tb_ring_rx() - enqueue a frame on an RX ring * * frame->buffer, frame->buffer_phy and frame->callback have to be set. The * buffer must contain at least TB_FRAME_SIZE bytes. @@ -81,34 +82,34 @@ int __ring_enqueue(struct tb_ring *ring, struct ring_frame *frame); * frame->callback will be invoked with frame->size, frame->flags, frame->eof, * frame->sof set once the frame has been received. * - * If ring_stop is called after the packet has been enqueued frame->callback + * If tb_ring_stop is called after the packet has been enqueued frame->callback * will be called with canceled set to true. * - * Return: Returns ESHUTDOWN if ring_stop has been called. Zero otherwise. + * Return: Returns ESHUTDOWN if tb_ring_stop has been called. Zero otherwise. */ -static inline int ring_rx(struct tb_ring *ring, struct ring_frame *frame) +static inline int tb_ring_rx(struct tb_ring *ring, struct tb_ring_frame *frame) { WARN_ON(ring->is_tx); - return __ring_enqueue(ring, frame); + return __tb_ring_enqueue(ring, frame); } /** - * ring_tx() - enqueue a frame on an TX ring + * tb_ring_tx() - enqueue a frame on an TX ring * * frame->buffer, frame->buffer_phy, frame->callback, frame->size, frame->eof * and frame->sof have to be set. * * frame->callback will be invoked with once the frame has been transmitted. * - * If ring_stop is called after the packet has been enqueued frame->callback + * If tb_ring_stop is called after the packet has been enqueued frame->callback * will be called with canceled set to true. * - * Return: Returns ESHUTDOWN if ring_stop has been called. Zero otherwise. + * Return: Returns ESHUTDOWN if tb_ring_stop has been called. Zero otherwise. */ -static inline int ring_tx(struct tb_ring *ring, struct ring_frame *frame) +static inline int tb_ring_tx(struct tb_ring *ring, struct tb_ring_frame *frame) { WARN_ON(!ring->is_tx); - return __ring_enqueue(ring, frame); + return __tb_ring_enqueue(ring, frame); } #endif diff --git a/drivers/thunderbolt/nhi_regs.h b/drivers/thunderbolt/nhi_regs.h index 86b996c..23b7059 100644 --- a/drivers/thunderbolt/nhi_regs.h +++ b/drivers/thunderbolt/nhi_regs.h @@ -9,7 +9,7 @@ #include <linux/types.h> -enum ring_flags { +enum tb_ring_flags { RING_FLAG_ISOCH_ENABLE = 1 << 27, /* TX only? */ RING_FLAG_E2E_FLOW_CONTROL = 1 << 28, RING_FLAG_PCI_NO_SNOOP = 1 << 29, @@ -17,7 +17,7 @@ enum ring_flags { RING_FLAG_ENABLE = 1 << 31, }; -enum ring_desc_flags { +enum tb_ring_desc_flags { RING_DESC_ISOCH = 0x1, /* TX only? */ RING_DESC_COMPLETED = 0x2, /* set by NHI */ RING_DESC_POSTED = 0x4, /* always set this */ @@ -25,17 +25,17 @@ enum ring_desc_flags { }; /** - * struct ring_desc - TX/RX ring entry + * struct tb_ring_desc - TX/RX ring entry * * For TX set length/eof/sof. * For RX length/eof/sof are set by the NHI. */ -struct ring_desc { +struct tb_ring_desc { u64 phys; u32 length:12; u32 eof:4; u32 sof:4; - enum ring_desc_flags flags:12; + enum tb_ring_desc_flags flags:12; u32 time; /* write zero */ } __packed; @@ -43,7 +43,7 @@ struct ring_desc { /* * 16 bytes per entry, one entry for every hop (REG_HOP_COUNT) - * 00: physical pointer to an array of struct ring_desc + * 00: physical pointer to an array of struct tb_ring_desc * 08: ring tail (set by NHI) * 10: ring head (index of first non posted descriptor) * 12: descriptor count @@ -52,7 +52,7 @@ struct ring_desc { /* * 16 bytes per entry, one entry for every hop (REG_HOP_COUNT) - * 00: physical pointer to an array of struct ring_desc + * 00: physical pointer to an array of struct tb_ring_desc * 08: ring head (index of first not posted descriptor) * 10: ring tail (set by NHI) * 12: descriptor count @@ -70,7 +70,7 @@ struct ring_desc { /* * 32 bytes per entry, one entry for every hop (REG_HOP_COUNT) - * 00: enum ring_flags + * 00: enum tb_ring_flags * If RING_FLAG_E2E_FLOW_CONTROL is set then bits 13-23 must be set to * the corresponding TX hop id. * 04: EOF/SOF mask (ignored for RING_FLAG_RAW rings)
WARNING: multiple messages have this Message-ID (diff)
From: Joe Perches <joe@perches.com> To: SF Markus Elfring <elfring@users.sourceforge.net> Cc: Andreas Noever <andreas.noever@gmail.com>, LKML <linux-kernel@vger.kernel.org>, kernel-janitors@vger.kernel.org, Julia Lawall <julia.lawall@lip6.fr> Subject: Re: thunderbolt: Deletion of unnecessary checks before the function call "ring_free" Date: Fri, 21 Nov 2014 18:14:48 +0000 [thread overview] Message-ID: <1416593688.6651.39.camel@perches.com> (raw) In-Reply-To: <546F2E50.5040804@users.sourceforge.net> On Fri, 2014-11-21 at 13:21 +0100, SF Markus Elfring wrote: > 2. Are any additional prefixes appropriate so that further name space > conflicts can be better avoided? To avoid possible external naming conflicts, add tb_ prefix to various ring_<foo> structs and functions. Other miscellanea: o typo/spelling fixes (releated/related, loose/lose) o argument alignment o comment formatting --- Perhaps something like this? unsigned/compiled/untested drivers/thunderbolt/ctl.c | 41 ++++++------- drivers/thunderbolt/nhi.c | 133 +++++++++++++++++++++-------------------- drivers/thunderbolt/nhi.h | 47 ++++++++------- drivers/thunderbolt/nhi_regs.h | 16 ++--- 4 files changed, 121 insertions(+), 116 deletions(-) diff --git a/drivers/thunderbolt/ctl.c b/drivers/thunderbolt/ctl.c index 799634b..52783e0 100644 --- a/drivers/thunderbolt/ctl.c +++ b/drivers/thunderbolt/ctl.c @@ -17,7 +17,7 @@ struct ctl_pkg { struct tb_ctl *ctl; void *buffer; - struct ring_frame frame; + struct tb_ring_frame frame; }; #define TB_CTL_RX_PKG_COUNT 10 @@ -319,8 +319,8 @@ static struct ctl_pkg *tb_ctl_pkg_alloc(struct tb_ctl *ctl) /* RX/TX handling */ -static void tb_ctl_tx_callback(struct tb_ring *ring, struct ring_frame *frame, - bool canceled) +static void tb_ctl_tx_callback(struct tb_ring *ring, + struct tb_ring_frame *frame, bool canceled) { struct ctl_pkg *pkg = container_of(frame, typeof(*pkg), frame); tb_ctl_pkg_free(pkg); @@ -357,7 +357,7 @@ static int tb_ctl_tx(struct tb_ctl *ctl, void *data, size_t len, cpu_to_be32_array(pkg->buffer, data, len / 4); *(__be32 *) (pkg->buffer + len) = tb_crc(pkg->buffer, len); - res = ring_tx(ctl->tx, &pkg->frame); + res = tb_ring_tx(ctl->tx, &pkg->frame); if (res) /* ring is stopped */ tb_ctl_pkg_free(pkg); return res; @@ -386,16 +386,16 @@ static void tb_ctl_handle_plug_event(struct tb_ctl *ctl, static void tb_ctl_rx_submit(struct ctl_pkg *pkg) { - ring_rx(pkg->ctl->rx, &pkg->frame); /* - * We ignore failures during stop. - * All rx packets are referenced - * from ctl->rx_packets, so we do - * not loose them. - */ + tb_ring_rx(pkg->ctl->rx, &pkg->frame); + /* + * We ignore failures during stop. + * All rx packets are referenced from ctl->rx_packets, + * so we do not lose them. + */ } -static void tb_ctl_rx_callback(struct tb_ring *ring, struct ring_frame *frame, - bool canceled) +static void tb_ctl_rx_callback(struct tb_ring *ring, + struct tb_ring_frame *frame, bool canceled) { struct ctl_pkg *pkg = container_of(frame, typeof(*pkg), frame); @@ -488,11 +488,11 @@ struct tb_ctl *tb_ctl_alloc(struct tb_nhi *nhi, hotplug_cb cb, void *cb_data) if (!ctl->frame_pool) goto err; - ctl->tx = ring_alloc_tx(nhi, 0, 10); + ctl->tx = tb_ring_alloc_tx(nhi, 0, 10); if (!ctl->tx) goto err; - ctl->rx = ring_alloc_rx(nhi, 0, 10); + ctl->rx = tb_ring_alloc_rx(nhi, 0, 10); if (!ctl->rx) goto err; @@ -521,9 +521,9 @@ void tb_ctl_free(struct tb_ctl *ctl) { int i; if (ctl->rx) - ring_free(ctl->rx); + tb_ring_free(ctl->rx); if (ctl->tx) - ring_free(ctl->tx); + tb_ring_free(ctl->tx); /* free RX packets */ for (i = 0; i < TB_CTL_RX_PKG_COUNT; i++) @@ -542,8 +542,9 @@ void tb_ctl_start(struct tb_ctl *ctl) { int i; tb_ctl_info(ctl, "control channel starting...\n"); - ring_start(ctl->tx); /* is used to ack hotplug packets, start first */ - ring_start(ctl->rx); + /* is used to ack hotplug packets, start first */ + tb_ring_start(ctl->tx); + tb_ring_start(ctl->rx); for (i = 0; i < TB_CTL_RX_PKG_COUNT; i++) tb_ctl_rx_submit(ctl->rx_packets[i]); } @@ -558,8 +559,8 @@ void tb_ctl_start(struct tb_ctl *ctl) */ void tb_ctl_stop(struct tb_ctl *ctl) { - ring_stop(ctl->rx); - ring_stop(ctl->tx); + tb_ring_stop(ctl->rx); + tb_ring_stop(ctl->tx); if (!kfifo_is_empty(&ctl->response_fifo)) tb_ctl_WARN(ctl, "dangling response in response_fifo\n"); diff --git a/drivers/thunderbolt/nhi.c b/drivers/thunderbolt/nhi.c index c68fe12..552683f 100644 --- a/drivers/thunderbolt/nhi.c +++ b/drivers/thunderbolt/nhi.c @@ -22,7 +22,7 @@ #define RING_TYPE(ring) ((ring)->is_tx ? "TX ring" : "RX ring") -static int ring_interrupt_index(struct tb_ring *ring) +static int tb_ring_interrupt_index(struct tb_ring *ring) { int bit = ring->hop; if (!ring->is_tx) @@ -31,14 +31,14 @@ static int ring_interrupt_index(struct tb_ring *ring) } /** - * ring_interrupt_active() - activate/deactivate interrupts for a single ring + * tb_ring_interrupt_active() - activate/deactivate interrupts for a single ring * * ring->nhi->lock must be held. */ -static void ring_interrupt_active(struct tb_ring *ring, bool active) +static void tb_ring_interrupt_active(struct tb_ring *ring, bool active) { - int reg = REG_RING_INTERRUPT_BASE + ring_interrupt_index(ring) / 32; - int bit = ring_interrupt_index(ring) & 31; + int reg = REG_RING_INTERRUPT_BASE + tb_ring_interrupt_index(ring) / 32; + int bit = tb_ring_interrupt_index(ring) & 31; int mask = 1 << bit; u32 old, new; old = ioread32(ring->nhi->iobase + reg); @@ -78,7 +78,7 @@ static void nhi_disable_interrupts(struct tb_nhi *nhi) /* ring helper methods */ -static void __iomem *ring_desc_base(struct tb_ring *ring) +static void __iomem *tb_ring_desc_base(struct tb_ring *ring) { void __iomem *io = ring->nhi->iobase; io += ring->is_tx ? REG_TX_RING_BASE : REG_RX_RING_BASE; @@ -86,7 +86,7 @@ static void __iomem *ring_desc_base(struct tb_ring *ring) return io; } -static void __iomem *ring_options_base(struct tb_ring *ring) +static void __iomem *tb_ring_options_base(struct tb_ring *ring) { void __iomem *io = ring->nhi->iobase; io += ring->is_tx ? REG_TX_OPTIONS_BASE : REG_RX_OPTIONS_BASE; @@ -94,48 +94,49 @@ static void __iomem *ring_options_base(struct tb_ring *ring) return io; } -static void ring_iowrite16desc(struct tb_ring *ring, u32 value, u32 offset) +static void tb_ring_iowrite16desc(struct tb_ring *ring, u32 value, u32 offset) { - iowrite16(value, ring_desc_base(ring) + offset); + iowrite16(value, tb_ring_desc_base(ring) + offset); } -static void ring_iowrite32desc(struct tb_ring *ring, u32 value, u32 offset) +static void tb_ring_iowrite32desc(struct tb_ring *ring, u32 value, u32 offset) { - iowrite32(value, ring_desc_base(ring) + offset); + iowrite32(value, tb_ring_desc_base(ring) + offset); } -static void ring_iowrite64desc(struct tb_ring *ring, u64 value, u32 offset) +static void tb_ring_iowrite64desc(struct tb_ring *ring, u64 value, u32 offset) { - iowrite32(value, ring_desc_base(ring) + offset); - iowrite32(value >> 32, ring_desc_base(ring) + offset + 4); + iowrite32(value, tb_ring_desc_base(ring) + offset); + iowrite32(value >> 32, tb_ring_desc_base(ring) + offset + 4); } -static void ring_iowrite32options(struct tb_ring *ring, u32 value, u32 offset) +static void tb_ring_iowrite32options(struct tb_ring *ring, u32 value, + u32 offset) { - iowrite32(value, ring_options_base(ring) + offset); + iowrite32(value, tb_ring_options_base(ring) + offset); } -static bool ring_full(struct tb_ring *ring) +static bool tb_ring_full(struct tb_ring *ring) { return ((ring->head + 1) % ring->size) = ring->tail; } -static bool ring_empty(struct tb_ring *ring) +static bool tb_ring_empty(struct tb_ring *ring) { return ring->head = ring->tail; } /** - * ring_write_descriptors() - post frames from ring->queue to the controller + * tb_ring_write_descriptors() - post frames from ring->queue to the controller * * ring->lock is held. */ -static void ring_write_descriptors(struct tb_ring *ring) +static void tb_ring_write_descriptors(struct tb_ring *ring) { - struct ring_frame *frame, *n; - struct ring_desc *descriptor; + struct tb_ring_frame *frame, *n; + struct tb_ring_desc *descriptor; list_for_each_entry_safe(frame, n, &ring->queue, list) { - if (ring_full(ring)) + if (tb_ring_full(ring)) break; list_move_tail(&frame->list, &ring->in_flight); descriptor = &ring->descriptors[ring->head]; @@ -148,12 +149,12 @@ static void ring_write_descriptors(struct tb_ring *ring) descriptor->sof = frame->sof; } ring->head = (ring->head + 1) % ring->size; - ring_iowrite16desc(ring, ring->head, ring->is_tx ? 10 : 8); + tb_ring_iowrite16desc(ring, ring->head, ring->is_tx ? 10 : 8); } } /** - * ring_work() - progress completed frames + * tb_ring_work() - progress completed frames * * If the ring is shutting down then all frames are marked as canceled and * their callbacks are invoked. @@ -161,10 +162,10 @@ static void ring_write_descriptors(struct tb_ring *ring) * Otherwise we collect all completed frame from the ring buffer, write new * frame to the ring buffer and invoke the callbacks for the completed frames. */ -static void ring_work(struct work_struct *work) +static void tb_ring_work(struct work_struct *work) { struct tb_ring *ring = container_of(work, typeof(*ring), work); - struct ring_frame *frame; + struct tb_ring_frame *frame; bool canceled = false; LIST_HEAD(done); mutex_lock(&ring->lock); @@ -177,7 +178,7 @@ static void ring_work(struct work_struct *work) goto invoke_callback; } - while (!ring_empty(ring)) { + while (!tb_ring_empty(ring)) { if (!(ring->descriptors[ring->tail].flags & RING_DESC_COMPLETED)) break; @@ -209,7 +210,7 @@ static void ring_work(struct work_struct *work) } ring->tail = (ring->tail + 1) % ring->size; } - ring_write_descriptors(ring); + tb_ring_write_descriptors(ring); invoke_callback: mutex_unlock(&ring->lock); /* allow callbacks to schedule new work */ @@ -224,13 +225,13 @@ invoke_callback: } } -int __ring_enqueue(struct tb_ring *ring, struct ring_frame *frame) +int __tb_ring_enqueue(struct tb_ring *ring, struct tb_ring_frame *frame) { int ret = 0; mutex_lock(&ring->lock); if (ring->running) { list_add_tail(&frame->list, &ring->queue); - ring_write_descriptors(ring); + tb_ring_write_descriptors(ring); } else { ret = -ESHUTDOWN; } @@ -238,8 +239,8 @@ int __ring_enqueue(struct tb_ring *ring, struct ring_frame *frame) return ret; } -static struct tb_ring *ring_alloc(struct tb_nhi *nhi, u32 hop, int size, - bool transmit) +static struct tb_ring *tb_ring_alloc(struct tb_nhi *nhi, u32 hop, int size, + bool transmit) { struct tb_ring *ring = NULL; dev_info(&nhi->pdev->dev, "allocating %s ring %d of size %d\n", @@ -264,7 +265,7 @@ static struct tb_ring *ring_alloc(struct tb_nhi *nhi, u32 hop, int size, mutex_init(&ring->lock); INIT_LIST_HEAD(&ring->queue); INIT_LIST_HEAD(&ring->in_flight); - INIT_WORK(&ring->work, ring_work); + INIT_WORK(&ring->work, tb_ring_work); ring->nhi = nhi; ring->hop = hop; @@ -294,22 +295,22 @@ err: return NULL; } -struct tb_ring *ring_alloc_tx(struct tb_nhi *nhi, int hop, int size) +struct tb_ring *tb_ring_alloc_tx(struct tb_nhi *nhi, int hop, int size) { - return ring_alloc(nhi, hop, size, true); + return tb_ring_alloc(nhi, hop, size, true); } -struct tb_ring *ring_alloc_rx(struct tb_nhi *nhi, int hop, int size) +struct tb_ring *tb_ring_alloc_rx(struct tb_nhi *nhi, int hop, int size) { - return ring_alloc(nhi, hop, size, false); + return tb_ring_alloc(nhi, hop, size, false); } /** - * ring_start() - enable a ring + * tb_ring_start() - enable a ring * - * Must not be invoked in parallel with ring_stop(). + * Must not be invoked in parallel with tb_ring_stop(). */ -void ring_start(struct tb_ring *ring) +void tb_ring_start(struct tb_ring *ring) { mutex_lock(&ring->nhi->lock); mutex_lock(&ring->lock); @@ -320,20 +321,21 @@ void ring_start(struct tb_ring *ring) dev_info(&ring->nhi->pdev->dev, "starting %s %d\n", RING_TYPE(ring), ring->hop); - ring_iowrite64desc(ring, ring->descriptors_dma, 0); + tb_ring_iowrite64desc(ring, ring->descriptors_dma, 0); if (ring->is_tx) { - ring_iowrite32desc(ring, ring->size, 12); - ring_iowrite32options(ring, 0, 4); /* time releated ? */ - ring_iowrite32options(ring, - RING_FLAG_ENABLE | RING_FLAG_RAW, 0); + tb_ring_iowrite32desc(ring, ring->size, 12); + tb_ring_iowrite32options(ring, 0, 4); /* time related ? */ + tb_ring_iowrite32options(ring, + RING_FLAG_ENABLE | RING_FLAG_RAW, 0); } else { - ring_iowrite32desc(ring, - (TB_FRAME_SIZE << 16) | ring->size, 12); - ring_iowrite32options(ring, 0xffffffff, 4); /* SOF EOF mask */ - ring_iowrite32options(ring, - RING_FLAG_ENABLE | RING_FLAG_RAW, 0); + tb_ring_iowrite32desc(ring, + (TB_FRAME_SIZE << 16) | ring->size, 12); + /* SOF EOF mask */ + tb_ring_iowrite32options(ring, 0xffffffff, 4); + tb_ring_iowrite32options(ring, + RING_FLAG_ENABLE | RING_FLAG_RAW, 0); } - ring_interrupt_active(ring, true); + tb_ring_interrupt_active(ring, true); ring->running = true; err: mutex_unlock(&ring->lock); @@ -342,18 +344,19 @@ err: /** - * ring_stop() - shutdown a ring + * tb_ring_stop() - shutdown a ring * * Must not be invoked from a callback. * - * This method will disable the ring. Further calls to ring_tx/ring_rx will - * return -ESHUTDOWN until ring_stop has been called. + * This method will disable the ring. + * Further calls to tb_ring_tx/tb_ring_rx will return -ESHUTDOWN + * until tb_ring_stop has been called. * * All enqueued frames will be canceled and their callbacks will be executed * with frame->canceled set to true (on the callback thread). This method * returns only after all callback invocations have finished. */ -void ring_stop(struct tb_ring *ring) +void tb_ring_stop(struct tb_ring *ring) { mutex_lock(&ring->nhi->lock); mutex_lock(&ring->lock); @@ -364,12 +367,12 @@ void ring_stop(struct tb_ring *ring) RING_TYPE(ring), ring->hop); goto err; } - ring_interrupt_active(ring, false); + tb_ring_interrupt_active(ring, false); - ring_iowrite32options(ring, 0, 0); - ring_iowrite64desc(ring, 0, 0); - ring_iowrite16desc(ring, 0, ring->is_tx ? 10 : 8); - ring_iowrite32desc(ring, 0, 12); + tb_ring_iowrite32options(ring, 0, 0); + tb_ring_iowrite64desc(ring, 0, 0); + tb_ring_iowrite16desc(ring, 0, ring->is_tx ? 10 : 8); + tb_ring_iowrite32desc(ring, 0, 12); ring->head = 0; ring->tail = 0; ring->running = false; @@ -386,16 +389,16 @@ err: } /* - * ring_free() - free ring + * tb_ring_free() - free ring * * When this method returns all invocations of ring->callback will have * finished. * * Ring must be stopped. * - * Must NOT be called from ring_frame->callback! + * Must NOT be called from tb_ring_frame->callback! */ -void ring_free(struct tb_ring *ring) +void tb_ring_free(struct tb_ring *ring) { mutex_lock(&ring->nhi->lock); /* @@ -428,7 +431,7 @@ void ring_free(struct tb_ring *ring) mutex_unlock(&ring->nhi->lock); /** * ring->work can no longer be scheduled (it is scheduled only by - * nhi_interrupt_work and ring_stop). Wait for it to finish before + * nhi_interrupt_work and tb_ring_stop). Wait for it to finish before * freeing the ring. */ flush_work(&ring->work); diff --git a/drivers/thunderbolt/nhi.h b/drivers/thunderbolt/nhi.h index 3172429..98f57d5 100644 --- a/drivers/thunderbolt/nhi.h +++ b/drivers/thunderbolt/nhi.h @@ -37,7 +37,7 @@ struct tb_ring { int hop; int head; /* write next descriptor here */ int tail; /* complete next descriptor here */ - struct ring_desc *descriptors; + struct tb_ring_desc *descriptors; dma_addr_t descriptors_dma; struct list_head queue; struct list_head in_flight; @@ -46,15 +46,16 @@ struct tb_ring { bool running:1; }; -struct ring_frame; -typedef void (*ring_cb)(struct tb_ring*, struct ring_frame*, bool canceled); +struct tb_ring_frame; +typedef void (*tb_ring_cb)(struct tb_ring *ring, struct tb_ring_frame *frame, + bool canceled); /** - * struct ring_frame - for use with ring_rx/ring_tx + * struct tb_ring_frame - for use with tb_ring_rx/tb_ring_tx */ -struct ring_frame { +struct tb_ring_frame { dma_addr_t buffer_phy; - ring_cb callback; + tb_ring_cb callback; struct list_head list; u32 size:12; /* TX: in, RX: out*/ u32 flags:12; /* RX: out */ @@ -62,18 +63,18 @@ struct ring_frame { u32 sof:4; /* TX:in, RX: out */ }; -#define TB_FRAME_SIZE 0x100 /* minimum size for ring_rx */ +#define TB_FRAME_SIZE 0x100 /* minimum size for tb_ring_rx */ -struct tb_ring *ring_alloc_tx(struct tb_nhi *nhi, int hop, int size); -struct tb_ring *ring_alloc_rx(struct tb_nhi *nhi, int hop, int size); -void ring_start(struct tb_ring *ring); -void ring_stop(struct tb_ring *ring); -void ring_free(struct tb_ring *ring); +struct tb_ring *tb_ring_alloc_tx(struct tb_nhi *nhi, int hop, int size); +struct tb_ring *tb_ring_alloc_rx(struct tb_nhi *nhi, int hop, int size); +void tb_ring_start(struct tb_ring *ring); +void tb_ring_stop(struct tb_ring *ring); +void tb_ring_free(struct tb_ring *ring); -int __ring_enqueue(struct tb_ring *ring, struct ring_frame *frame); +int __tb_ring_enqueue(struct tb_ring *ring, struct tb_ring_frame *frame); /** - * ring_rx() - enqueue a frame on an RX ring + * tb_ring_rx() - enqueue a frame on an RX ring * * frame->buffer, frame->buffer_phy and frame->callback have to be set. The * buffer must contain at least TB_FRAME_SIZE bytes. @@ -81,34 +82,34 @@ int __ring_enqueue(struct tb_ring *ring, struct ring_frame *frame); * frame->callback will be invoked with frame->size, frame->flags, frame->eof, * frame->sof set once the frame has been received. * - * If ring_stop is called after the packet has been enqueued frame->callback + * If tb_ring_stop is called after the packet has been enqueued frame->callback * will be called with canceled set to true. * - * Return: Returns ESHUTDOWN if ring_stop has been called. Zero otherwise. + * Return: Returns ESHUTDOWN if tb_ring_stop has been called. Zero otherwise. */ -static inline int ring_rx(struct tb_ring *ring, struct ring_frame *frame) +static inline int tb_ring_rx(struct tb_ring *ring, struct tb_ring_frame *frame) { WARN_ON(ring->is_tx); - return __ring_enqueue(ring, frame); + return __tb_ring_enqueue(ring, frame); } /** - * ring_tx() - enqueue a frame on an TX ring + * tb_ring_tx() - enqueue a frame on an TX ring * * frame->buffer, frame->buffer_phy, frame->callback, frame->size, frame->eof * and frame->sof have to be set. * * frame->callback will be invoked with once the frame has been transmitted. * - * If ring_stop is called after the packet has been enqueued frame->callback + * If tb_ring_stop is called after the packet has been enqueued frame->callback * will be called with canceled set to true. * - * Return: Returns ESHUTDOWN if ring_stop has been called. Zero otherwise. + * Return: Returns ESHUTDOWN if tb_ring_stop has been called. Zero otherwise. */ -static inline int ring_tx(struct tb_ring *ring, struct ring_frame *frame) +static inline int tb_ring_tx(struct tb_ring *ring, struct tb_ring_frame *frame) { WARN_ON(!ring->is_tx); - return __ring_enqueue(ring, frame); + return __tb_ring_enqueue(ring, frame); } #endif diff --git a/drivers/thunderbolt/nhi_regs.h b/drivers/thunderbolt/nhi_regs.h index 86b996c..23b7059 100644 --- a/drivers/thunderbolt/nhi_regs.h +++ b/drivers/thunderbolt/nhi_regs.h @@ -9,7 +9,7 @@ #include <linux/types.h> -enum ring_flags { +enum tb_ring_flags { RING_FLAG_ISOCH_ENABLE = 1 << 27, /* TX only? */ RING_FLAG_E2E_FLOW_CONTROL = 1 << 28, RING_FLAG_PCI_NO_SNOOP = 1 << 29, @@ -17,7 +17,7 @@ enum ring_flags { RING_FLAG_ENABLE = 1 << 31, }; -enum ring_desc_flags { +enum tb_ring_desc_flags { RING_DESC_ISOCH = 0x1, /* TX only? */ RING_DESC_COMPLETED = 0x2, /* set by NHI */ RING_DESC_POSTED = 0x4, /* always set this */ @@ -25,17 +25,17 @@ enum ring_desc_flags { }; /** - * struct ring_desc - TX/RX ring entry + * struct tb_ring_desc - TX/RX ring entry * * For TX set length/eof/sof. * For RX length/eof/sof are set by the NHI. */ -struct ring_desc { +struct tb_ring_desc { u64 phys; u32 length:12; u32 eof:4; u32 sof:4; - enum ring_desc_flags flags:12; + enum tb_ring_desc_flags flags:12; u32 time; /* write zero */ } __packed; @@ -43,7 +43,7 @@ struct ring_desc { /* * 16 bytes per entry, one entry for every hop (REG_HOP_COUNT) - * 00: physical pointer to an array of struct ring_desc + * 00: physical pointer to an array of struct tb_ring_desc * 08: ring tail (set by NHI) * 10: ring head (index of first non posted descriptor) * 12: descriptor count @@ -52,7 +52,7 @@ struct ring_desc { /* * 16 bytes per entry, one entry for every hop (REG_HOP_COUNT) - * 00: physical pointer to an array of struct ring_desc + * 00: physical pointer to an array of struct tb_ring_desc * 08: ring head (index of first not posted descriptor) * 10: ring tail (set by NHI) * 12: descriptor count @@ -70,7 +70,7 @@ struct ring_desc { /* * 32 bytes per entry, one entry for every hop (REG_HOP_COUNT) - * 00: enum ring_flags + * 00: enum tb_ring_flags * If RING_FLAG_E2E_FLOW_CONTROL is set then bits 13-23 must be set to * the corresponding TX hop id. * 04: EOF/SOF mask (ignored for RING_FLAG_RAW rings)
next prev parent reply other threads:[~2014-11-21 18:14 UTC|newest] Thread overview: 3633+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-02-21 21:52 [Cocci] Remove unnecessary null pointer checks? SF Markus Elfring 2014-02-21 22:27 ` Julia Lawall 2014-02-22 8:09 ` SF Markus Elfring 2014-02-22 12:36 ` Julia Lawall 2014-02-22 18:01 ` SF Markus Elfring 2014-10-26 6:07 ` SF Markus Elfring [not found] ` <alpine.DEB.2.10.1410260614460.2563@hadrien> 2014-10-26 13:54 ` SF Markus Elfring 2014-02-23 14:40 ` SF Markus Elfring 2014-02-23 15:37 ` Julia Lawall 2014-02-23 16:33 ` SF Markus Elfring 2014-02-23 16:42 ` Julia Lawall 2014-02-23 22:14 ` SF Markus Elfring 2014-02-24 6:00 ` Julia Lawall 2014-02-24 10:55 ` SF Markus Elfring 2014-02-24 11:22 ` Julia Lawall 2014-02-24 15:05 ` SF Markus Elfring 2014-02-24 15:19 ` Julia Lawall 2014-02-24 15:58 ` SF Markus Elfring 2014-02-24 16:14 ` Julia Lawall 2014-02-24 16:34 ` SF Markus Elfring 2014-02-25 9:10 ` SF Markus Elfring 2014-02-25 9:16 ` Julia Lawall 2014-02-25 10:01 ` SF Markus Elfring 2014-02-25 17:28 ` SF Markus Elfring 2014-02-25 17:42 ` Julia Lawall 2014-02-25 20:11 ` SF Markus Elfring 2014-02-25 20:20 ` Julia Lawall 2014-02-25 20:37 ` [Cocci] Source code analysis with big regular expressions? SF Markus Elfring 2014-02-25 20:44 ` Julia Lawall 2014-02-25 20:54 ` SF Markus Elfring 2014-02-25 21:02 ` Julia Lawall 2014-02-25 21:19 ` SF Markus Elfring 2014-02-25 21:29 ` Julia Lawall 2014-02-25 21:44 ` [Cocci] Remove unnecessary null pointer checks? SF Markus Elfring 2014-02-25 21:48 ` Julia Lawall 2014-02-26 8:04 ` SF Markus Elfring 2014-02-26 11:30 ` SF Markus Elfring 2014-02-26 20:35 ` Julia Lawall 2014-02-26 21:01 ` SF Markus Elfring 2014-02-26 21:09 ` Julia Lawall 2014-03-06 8:39 ` SF Markus Elfring 2014-03-06 16:24 ` Julia Lawall 2014-03-06 17:04 ` SF Markus Elfring 2014-09-30 13:24 ` [Cocci] Fix for "lexing: empty token" needed? SF Markus Elfring 2014-03-05 22:30 ` [PATCH with Coccinelle?] Deletion of unnecessary checks before specific function calls SF Markus Elfring 2014-03-05 22:30 ` [Cocci] " SF Markus Elfring 2014-03-05 22:30 ` SF Markus Elfring 2014-03-05 22:48 ` [coccicheck Linux 3.14-rc5 PATCH 1 of 5] " SF Markus Elfring 2014-03-05 22:48 ` [Cocci] " SF Markus Elfring 2014-03-05 22:48 ` [coccicheck Linux 3.14-rc5 PATCH 1 of 5] Deletion of unnecessary checks before specific function SF Markus Elfring 2014-03-05 22:50 ` [coccicheck Linux 3.14-rc5 PATCH 2 of 5] Deletion of unnecessary checks before specific function calls SF Markus Elfring 2014-03-05 22:50 ` [Cocci] " SF Markus Elfring 2014-03-05 22:50 ` [coccicheck Linux 3.14-rc5 PATCH 2 of 5] Deletion of unnecessary checks before specific function SF Markus Elfring 2014-03-05 22:52 ` [coccicheck Linux 3.14-rc5 PATCH 3 of 5] Deletion of unnecessary checks before specific function calls SF Markus Elfring 2014-03-05 22:52 ` [Cocci] " SF Markus Elfring 2014-03-05 22:52 ` [coccicheck Linux 3.14-rc5 PATCH 3 of 5] Deletion of unnecessary checks before specific function SF Markus Elfring 2014-03-05 22:55 ` [coccicheck Linux 3.14-rc5 PATCH 4 of 5] Deletion of unnecessary checks before specific function calls SF Markus Elfring 2014-03-05 22:55 ` [Cocci] " SF Markus Elfring 2014-03-05 22:55 ` [coccicheck Linux 3.14-rc5 PATCH 4 of 5] Deletion of unnecessary checks before specific function SF Markus Elfring 2014-03-05 22:58 ` [coccicheck Linux 3.14-rc5 PATCH 5 of 5] Deletion of unnecessary checks before specific function calls SF Markus Elfring 2014-03-05 22:58 ` [Cocci] " SF Markus Elfring 2014-03-05 22:58 ` [coccicheck Linux 3.14-rc5 PATCH 5 of 5] Deletion of unnecessary checks before specific function SF Markus Elfring 2014-10-01 13:01 ` [PATCH with Coccinelle?] Deletion of unnecessary checks before specific function calls SF Markus Elfring 2014-10-01 13:01 ` [Cocci] " SF Markus Elfring 2014-10-01 13:01 ` SF Markus Elfring 2014-10-01 14:06 ` [coccicheck PATCH 1/5] " SF Markus Elfring 2014-10-01 14:06 ` [Cocci] " SF Markus Elfring 2014-10-01 14:06 ` SF Markus Elfring 2014-10-01 14:06 ` [coccicheck PATCH 2/5] " SF Markus Elfring 2014-10-01 14:06 ` [Cocci] " SF Markus Elfring 2014-10-01 14:06 ` SF Markus Elfring 2014-10-01 14:06 ` [coccicheck PATCH 3/5] " SF Markus Elfring 2014-10-01 14:06 ` [Cocci] " SF Markus Elfring 2014-10-01 14:06 ` SF Markus Elfring 2014-10-01 14:07 ` [coccicheck PATCH 4/5] " SF Markus Elfring 2014-10-01 14:07 ` [Cocci] " SF Markus Elfring 2014-10-01 14:07 ` SF Markus Elfring 2014-10-01 14:07 ` [coccicheck PATCH 5/5] " SF Markus Elfring 2014-10-01 14:07 ` [Cocci] " SF Markus Elfring 2014-10-01 14:07 ` SF Markus Elfring 2014-10-22 14:30 ` [PATCH 1/1] GPU-DRM-nouveau: Deletion of unnecessary checks before two " SF Markus Elfring 2014-10-22 14:30 ` SF Markus Elfring 2014-10-22 14:30 ` [Cocci] " SF Markus Elfring 2014-10-22 14:30 ` SF Markus Elfring 2014-10-22 16:48 ` [PATCH 1/1] GPU-DRM-GMA500: " SF Markus Elfring 2014-10-22 16:48 ` SF Markus Elfring 2014-10-22 16:48 ` [Cocci] " SF Markus Elfring 2014-10-22 16:48 ` SF Markus Elfring 2014-10-23 11:26 ` One Thousand Gnomes 2014-10-23 11:26 ` [Cocci] " One Thousand Gnomes 2014-10-23 11:26 ` One Thousand Gnomes 2014-10-26 12:10 ` SF Markus Elfring 2014-10-26 12:10 ` SF Markus Elfring 2014-10-26 12:10 ` [Cocci] " SF Markus Elfring 2014-10-26 12:10 ` SF Markus Elfring 2014-10-26 14:56 ` [Cocci] " Arthur Borsboom 2014-10-26 14:56 ` Arthur Borsboom 2014-10-22 18:00 ` [PATCH 1/1] IOMMU-MSM: Deletion of unnecessary checks before the function call "clk_disable" SF Markus Elfring 2014-10-22 18:00 ` [Cocci] " SF Markus Elfring 2014-10-22 18:00 ` SF Markus Elfring 2014-10-22 18:00 ` SF Markus Elfring 2014-10-23 12:51 ` Jörg Rödel 2014-10-23 12:51 ` [Cocci] " Jörg Rödel 2014-10-23 12:51 ` Jörg Rödel 2014-10-23 12:51 ` Jörg Rödel 2014-10-22 18:55 ` [PATCH 1/1] SCSI-QLA2XXX: Deletion of unnecessary checks before the function call "vfree" SF Markus Elfring 2014-10-22 18:55 ` [Cocci] " SF Markus Elfring 2014-10-22 19:10 ` [PATCH 1/1] SCSI-QLA2...: " SF Markus Elfring 2014-10-22 19:10 ` [Cocci] " SF Markus Elfring 2014-10-22 19:10 ` SF Markus Elfring 2014-10-22 19:10 ` SF Markus Elfring 2014-10-23 19:20 ` [PATCH 1/1] staging - rtl8188eu: Deletion of unnecessary checks before three function calls SF Markus Elfring 2014-10-23 19:20 ` [Cocci] " SF Markus Elfring 2014-10-23 19:20 ` SF Markus Elfring 2014-10-29 8:47 ` Greg Kroah-Hartman 2014-10-29 8:47 ` [Cocci] " Greg Kroah-Hartman 2014-10-29 8:47 ` Greg Kroah-Hartman 2014-10-31 17:55 ` [PATCH resent] staging: " SF Markus Elfring 2014-10-31 17:55 ` [Cocci] " SF Markus Elfring 2014-10-31 17:55 ` SF Markus Elfring 2014-10-31 18:01 ` Julia Lawall 2014-10-31 18:01 ` [Cocci] " Julia Lawall 2014-10-31 18:01 ` Julia Lawall 2014-10-31 18:08 ` SF Markus Elfring 2014-10-31 18:08 ` [Cocci] " SF Markus Elfring 2014-10-31 18:08 ` SF Markus Elfring 2014-10-31 18:11 ` Julia Lawall 2014-10-31 18:11 ` [Cocci] " Julia Lawall 2014-10-31 18:11 ` Julia Lawall 2014-11-12 10:51 ` [PATCH with SmPL?] staging: rtl8188eu: Adjustments around jump labels SF Markus Elfring 2014-11-12 10:51 ` [Cocci] " SF Markus Elfring 2014-11-12 10:51 ` SF Markus Elfring 2014-11-12 20:20 ` [PATCH v2 0/2] staging: rtl8188eu: Deletion of a few unnecessary checks SF Markus Elfring 2014-11-12 20:20 ` [Cocci] " SF Markus Elfring 2014-11-12 20:20 ` SF Markus Elfring 2014-11-12 20:25 ` [PATCH v2 1/2] staging: rtl8188eu: Deletion of unnecessary checks before three function calls SF Markus Elfring 2014-11-12 20:25 ` [Cocci] " SF Markus Elfring 2014-11-12 20:25 ` SF Markus Elfring 2014-11-12 21:18 ` Dan Carpenter 2014-11-12 21:18 ` [Cocci] " Dan Carpenter 2014-11-12 21:18 ` Dan Carpenter 2014-11-12 21:28 ` SF Markus Elfring 2014-11-12 21:28 ` [Cocci] " SF Markus Elfring 2014-11-12 21:28 ` SF Markus Elfring 2014-11-12 21:40 ` Julia Lawall 2014-11-12 21:40 ` [Cocci] " Julia Lawall 2014-11-12 21:40 ` Julia Lawall 2014-11-12 22:08 ` Dan Carpenter 2014-11-12 22:08 ` [Cocci] " Dan Carpenter 2014-11-12 22:08 ` Dan Carpenter 2014-11-13 8:47 ` Julia Lawall 2014-11-13 8:47 ` [Cocci] " Julia Lawall 2014-11-13 8:47 ` Julia Lawall 2014-11-12 20:30 ` [PATCH v2 2/2] staging: rtl8188eu: Better memory clean-up in efuse_phymap_to_logical() SF Markus Elfring 2014-11-12 20:30 ` [Cocci] " SF Markus Elfring 2014-11-12 20:30 ` SF Markus Elfring 2014-11-12 21:14 ` Dan Carpenter 2014-11-12 21:14 ` [Cocci] " Dan Carpenter 2014-11-12 21:14 ` Dan Carpenter 2014-11-12 21:50 ` SF Markus Elfring 2014-11-12 21:50 ` [Cocci] " SF Markus Elfring 2014-11-12 21:50 ` SF Markus Elfring 2014-11-12 22:05 ` Dan Carpenter 2014-11-12 22:05 ` [Cocci] " Dan Carpenter 2014-11-12 22:05 ` Dan Carpenter 2014-11-13 8:50 ` SF Markus Elfring 2014-11-13 8:50 ` [Cocci] " SF Markus Elfring 2014-11-13 8:50 ` SF Markus Elfring 2014-11-13 8:43 ` Julia Lawall 2014-11-13 8:43 ` [Cocci] " Julia Lawall 2014-11-13 8:43 ` Julia Lawall 2014-11-13 9:33 ` SF Markus Elfring 2014-11-13 9:33 ` [Cocci] " SF Markus Elfring 2014-11-13 9:33 ` SF Markus Elfring 2014-10-31 17:40 ` [PATCH 1/1] s390/net: Deletion of unnecessary checks before two function calls SF Markus Elfring 2014-10-31 17:40 ` [Cocci] " SF Markus Elfring 2014-10-31 17:40 ` SF Markus Elfring 2014-11-03 9:50 ` Dan Carpenter 2014-11-03 9:50 ` [Cocci] " Dan Carpenter 2014-11-03 9:50 ` Dan Carpenter 2014-11-03 15:55 ` SF Markus Elfring 2014-11-03 15:55 ` [Cocci] " SF Markus Elfring 2014-11-03 15:55 ` SF Markus Elfring 2014-11-03 16:25 ` Dan Carpenter 2014-11-03 16:25 ` [Cocci] " Dan Carpenter 2014-11-03 16:25 ` Dan Carpenter 2014-11-03 16:50 ` SF Markus Elfring 2014-11-03 16:50 ` [Cocci] " SF Markus Elfring 2014-11-03 16:50 ` SF Markus Elfring 2014-11-03 17:02 ` Julia Lawall 2014-11-03 17:02 ` [Cocci] " Julia Lawall 2014-11-03 17:02 ` Julia Lawall 2014-11-03 17:16 ` Dan Carpenter 2014-11-03 17:16 ` [Cocci] " Dan Carpenter 2014-11-03 17:16 ` Dan Carpenter 2014-11-03 17:40 ` SF Markus Elfring 2014-11-03 17:40 ` [Cocci] " SF Markus Elfring 2014-11-03 17:40 ` SF Markus Elfring 2014-11-03 17:05 ` [Cocci] " Derek M Jones 2014-11-03 17:32 ` Julia Lawall 2014-11-03 21:30 ` [Cocci] Are defensive checks treated differently in specific areas? SF Markus Elfring 2014-11-03 11:04 ` [PATCH 1/1] s390/net: Deletion of unnecessary checks before two function calls Ursula Braun 2014-11-03 11:04 ` [Cocci] " Ursula Braun 2014-11-03 11:04 ` Ursula Braun 2014-11-03 16:10 ` SF Markus Elfring 2014-11-03 16:10 ` [Cocci] " SF Markus Elfring 2014-11-03 16:10 ` SF Markus Elfring 2014-11-03 16:28 ` Dan Carpenter 2014-11-03 16:28 ` [Cocci] " Dan Carpenter 2014-11-03 16:28 ` Dan Carpenter 2014-10-31 21:52 ` [PATCH 1/1] btrfs: Deletion of unnecessary checks before six " SF Markus Elfring 2014-10-31 21:52 ` [Cocci] " SF Markus Elfring 2014-10-31 21:52 ` SF Markus Elfring 2014-10-31 21:59 ` [Cocci] " Julia Lawall 2014-10-31 21:59 ` Julia Lawall 2014-10-31 21:59 ` Julia Lawall 2014-11-02 9:40 ` [PATCH 1/1] ocfs2: Deletion of unnecessary checks before two " SF Markus Elfring 2014-11-02 9:40 ` [Cocci] " SF Markus Elfring 2014-11-02 9:40 ` [Ocfs2-devel] " SF Markus Elfring 2014-11-02 9:40 ` SF Markus Elfring 2014-11-02 10:51 ` Julia Lawall 2014-11-02 10:51 ` [Cocci] " Julia Lawall 2014-11-02 10:51 ` [Ocfs2-devel] " Julia Lawall 2014-11-02 10:51 ` Julia Lawall 2014-11-02 14:20 ` [PATCH 1/1] ceph: " SF Markus Elfring 2014-11-02 14:20 ` [Cocci] " SF Markus Elfring 2014-11-02 14:20 ` SF Markus Elfring 2014-11-02 14:20 ` SF Markus Elfring 2014-11-03 10:35 ` Ilya Dryomov 2014-11-03 10:35 ` [Cocci] " Ilya Dryomov 2014-11-03 10:35 ` Ilya Dryomov 2014-11-03 13:27 ` SF Markus Elfring 2014-11-03 13:27 ` [Cocci] " SF Markus Elfring 2014-11-03 13:27 ` SF Markus Elfring 2014-11-03 13:27 ` SF Markus Elfring 2014-11-03 14:23 ` Ilya Dryomov 2014-11-03 14:23 ` [Cocci] " Ilya Dryomov 2014-11-03 14:23 ` Ilya Dryomov 2014-11-02 15:12 ` [PATCH 1/1] PCI: Deletion of unnecessary checks before three " SF Markus Elfring 2014-11-02 15:12 ` SF Markus Elfring 2014-11-02 15:12 ` [Cocci] " SF Markus Elfring 2014-11-02 15:12 ` SF Markus Elfring 2014-11-02 15:12 ` SF Markus Elfring 2014-11-11 4:07 ` Bjorn Helgaas 2014-11-11 4:07 ` Bjorn Helgaas 2014-11-11 4:07 ` [Cocci] " Bjorn Helgaas 2014-11-11 4:07 ` Bjorn Helgaas 2014-11-02 18:27 ` [PATCH 1/1] PCI: EMU10K1: " SF Markus Elfring 2014-11-02 18:27 ` [Cocci] " SF Markus Elfring 2014-11-02 18:27 ` SF Markus Elfring 2014-11-02 18:27 ` SF Markus Elfring 2014-11-03 9:45 ` Takashi Iwai 2014-11-03 9:45 ` [Cocci] " Takashi Iwai 2014-11-03 9:45 ` Takashi Iwai 2014-11-03 14:10 ` [PATCH resent] ALSA: emu10k1: " SF Markus Elfring 2014-11-03 14:10 ` [Cocci] " SF Markus Elfring 2014-11-03 14:10 ` SF Markus Elfring 2014-11-03 14:10 ` SF Markus Elfring 2014-11-03 14:17 ` Takashi Iwai 2014-11-03 14:17 ` [Cocci] " Takashi Iwai 2014-11-03 14:17 ` Takashi Iwai 2014-11-02 19:42 ` [PATCH 1/1] kconfig: Deletion of unnecessary checks before the function call "sym_calc_value" SF Markus Elfring 2014-11-02 19:42 ` [Cocci] " SF Markus Elfring 2014-11-02 19:42 ` SF Markus Elfring 2014-11-03 10:35 ` Paul Bolle 2014-11-03 10:35 ` [Cocci] " Paul Bolle 2014-11-03 10:35 ` Paul Bolle 2014-11-03 18:40 ` [PATCH v2] " SF Markus Elfring 2014-11-03 18:40 ` [Cocci] " SF Markus Elfring 2014-11-03 18:40 ` SF Markus Elfring 2014-11-15 18:19 ` [PATCH 1/1] fs-ext4: Deletion of an unnecessary check before the function call "iput" SF Markus Elfring 2014-11-15 18:19 ` [Cocci] " SF Markus Elfring 2014-11-15 18:19 ` SF Markus Elfring 2014-11-15 18:19 ` SF Markus Elfring 2014-11-26 1:16 ` [1/1] " Theodore Ts'o 2014-11-26 1:16 ` [Cocci] " Theodore Ts'o 2014-11-26 1:16 ` Theodore Ts'o 2014-11-15 18:42 ` [PATCH 1/1] ntfs: Deletion of unnecessary checks " SF Markus Elfring 2014-11-15 18:42 ` [Cocci] " SF Markus Elfring 2014-11-15 18:42 ` SF Markus Elfring 2014-11-15 19:54 ` [Cocci] " Julia Lawall 2014-11-15 19:54 ` Julia Lawall 2014-11-15 19:54 ` Julia Lawall 2014-11-15 20:01 ` [PATCH 1/1] fs-fat: Less function calls in fat_fill_super() after error detection SF Markus Elfring 2014-11-15 20:01 ` [Cocci] " SF Markus Elfring 2014-11-15 20:01 ` SF Markus Elfring 2014-11-15 20:18 ` Julia Lawall 2014-11-15 20:18 ` [Cocci] " Julia Lawall 2014-11-15 20:18 ` Julia Lawall 2014-11-29 6:44 ` [PATCH v2] " SF Markus Elfring 2014-11-29 6:44 ` [Cocci] " SF Markus Elfring 2014-11-29 6:44 ` SF Markus Elfring 2014-11-29 10:44 ` OGAWA Hirofumi 2014-11-29 10:44 ` OGAWA Hirofumi 2014-11-29 12:40 ` Julia Lawall 2014-11-29 12:40 ` [Cocci] " Julia Lawall 2014-11-29 12:40 ` Julia Lawall 2014-11-29 13:59 ` OGAWA Hirofumi 2014-11-29 13:59 ` OGAWA Hirofumi 2014-11-29 14:50 ` SF Markus Elfring 2014-11-29 14:50 ` SF Markus Elfring 2014-11-15 20:44 ` [PATCH 1/1] lib/mpi: Deletion of unnecessary checks before the function call "mpi_free_limb_space" SF Markus Elfring 2014-11-15 20:44 ` [Cocci] " SF Markus Elfring 2014-11-15 20:44 ` SF Markus Elfring 2014-11-16 10:40 ` [PATCH 1/1] kernel-audit: Deletion of an unnecessary check before the function call "audit_log_end" SF Markus Elfring 2014-11-16 10:40 ` [Cocci] " SF Markus Elfring 2014-11-16 10:40 ` SF Markus Elfring 2014-11-16 11:10 ` Dan Carpenter 2014-11-16 11:10 ` [Cocci] " Dan Carpenter 2014-11-16 11:10 ` [PATCH 1/1] kernel-audit: Deletion of an unnecessary check before the function call "audit_log_e Dan Carpenter 2014-11-16 11:14 ` [PATCH 1/1] kernel-audit: Deletion of an unnecessary check before the function call "audit_log_end" Dan Carpenter 2014-11-16 11:14 ` [Cocci] " Dan Carpenter 2014-11-16 11:14 ` [PATCH 1/1] kernel-audit: Deletion of an unnecessary check before the function call "audit_log_e Dan Carpenter 2014-11-16 11:48 ` [PATCH 1/1] kernel-audit: Deletion of an unnecessary check before the function call "audit_log_end" SF Markus Elfring 2014-11-16 11:48 ` [Cocci] " SF Markus Elfring 2014-11-16 11:48 ` [PATCH 1/1] kernel-audit: Deletion of an unnecessary check before the function call "audit_log_e SF Markus Elfring 2014-11-17 7:34 ` [PATCH 1/1] kernel-audit: Deletion of an unnecessary check before the function call "audit_log_end" Dan Carpenter 2014-11-17 7:34 ` [Cocci] " Dan Carpenter 2014-11-17 7:34 ` [PATCH 1/1] kernel-audit: Deletion of an unnecessary check before the function call "audit_log_e Dan Carpenter 2014-11-17 8:56 ` [PATCH 1/1] kernel-audit: Deletion of an unnecessary check before the function call "audit_log_end" SF Markus Elfring 2014-11-17 8:56 ` [Cocci] " SF Markus Elfring 2014-11-17 8:56 ` [PATCH 1/1] kernel-audit: Deletion of an unnecessary check before the function call "audit_log_e SF Markus Elfring 2014-11-17 13:45 ` [PATCH 1/1] kernel-audit: Deletion of an unnecessary check before the function call "audit_log_end" Dan Carpenter 2014-11-17 13:45 ` [Cocci] " Dan Carpenter 2014-11-17 13:45 ` [PATCH 1/1] kernel-audit: Deletion of an unnecessary check before the function call "audit_log_e Dan Carpenter 2014-11-17 14:30 ` s390/net: Deletion of unnecessary checks before two function calls SF Markus Elfring 2014-11-17 14:30 ` SF Markus Elfring 2014-11-23 11:51 ` [Cocci] [PATCH 1/1] kernel-audit: Deletion of an unnecessary check before the function call "audit_log_end" Julia Lawall 2014-11-23 11:51 ` Julia Lawall 2014-11-23 11:51 ` [Cocci] [PATCH 1/1] kernel-audit: Deletion of an unnecessary check before the function call "aud Julia Lawall 2014-11-23 13:24 ` kernel-audit: Deletion of an unnecessary check before the function call "audit_log_end" SF Markus Elfring 2014-11-23 13:24 ` [Cocci] " SF Markus Elfring 2014-11-23 13:24 ` SF Markus Elfring 2014-11-24 9:03 ` Dan Carpenter 2014-11-24 9:03 ` [Cocci] " Dan Carpenter 2014-11-24 9:03 ` Dan Carpenter 2014-11-16 11:24 ` [PATCH 1/1] " Dan Carpenter 2014-11-16 11:24 ` [Cocci] " Dan Carpenter 2014-11-16 11:24 ` [PATCH 1/1] kernel-audit: Deletion of an unnecessary check before the function call "audit_log_e Dan Carpenter 2014-11-16 12:07 ` [PATCH 1/1] kernel-audit: Deletion of an unnecessary check before the function call "audit_log_end" (or improve error handling?) SF Markus Elfring 2014-11-16 12:07 ` [Cocci] " SF Markus Elfring 2014-11-16 12:07 ` [PATCH 1/1] kernel-audit: Deletion of an unnecessary check before the function call "audit_log_e SF Markus Elfring 2014-11-16 12:34 ` [PATCH 1/1] kprobes: Deletion of an unnecessary check before the function call "module_put" SF Markus Elfring 2014-11-16 12:34 ` [Cocci] " SF Markus Elfring 2014-11-16 12:34 ` SF Markus Elfring 2014-11-16 13:29 ` [Cocci] " Julia Lawall 2014-11-16 13:29 ` Julia Lawall 2014-11-16 13:29 ` [Cocci] [PATCH 1/1] kprobes: Deletion of an unnecessary check before the function call "module_p Julia Lawall 2014-11-16 14:26 ` [Cocci] [PATCH 1/1] kprobes: Deletion of an unnecessary check before the function call "module_put" SF Markus Elfring 2014-11-16 14:26 ` SF Markus Elfring 2014-11-16 14:26 ` [Cocci] [PATCH 1/1] kprobes: Deletion of an unnecessary check before the function call "module_p SF Markus Elfring 2014-11-16 15:43 ` [Cocci] [PATCH 1/1] kprobes: Deletion of an unnecessary check before the function call "module_put" Julia Lawall 2014-11-16 15:43 ` Julia Lawall 2014-11-16 15:43 ` [Cocci] [PATCH 1/1] kprobes: Deletion of an unnecessary check before the function call "module_p Julia Lawall 2014-11-16 16:57 ` [Cocci] [PATCH 1/1] kprobes: Deletion of an unnecessary check before the function call "module_put" SF Markus Elfring 2014-11-16 16:57 ` SF Markus Elfring 2014-11-16 16:57 ` [Cocci] [PATCH 1/1] kprobes: Deletion of an unnecessary check before the function call "module_p SF Markus Elfring 2014-11-17 8:23 ` [PATCH 1/1] kprobes: Deletion of an unnecessary check before the function call "module_put" Masami Hiramatsu 2014-11-17 8:23 ` Masami Hiramatsu 2014-11-19 7:08 ` SF Markus Elfring 2014-11-19 7:08 ` [Cocci] " SF Markus Elfring 2014-11-19 7:08 ` SF Markus Elfring 2014-11-20 3:53 ` Masami Hiramatsu 2014-11-20 3:53 ` Masami Hiramatsu 2014-11-16 13:28 ` [PATCH 1/1] kernel-power: Deletion of an unnecessary check before the function call "vfree" SF Markus Elfring 2014-11-16 13:28 ` [Cocci] " SF Markus Elfring 2014-11-16 13:28 ` SF Markus Elfring 2014-11-16 13:28 ` SF Markus Elfring 2014-11-18 23:32 ` Rafael J. Wysocki 2014-11-18 23:32 ` Rafael J. Wysocki 2014-11-16 13:50 ` [PATCH 1/1] kernel-trace: Deletion of an unnecessary check before the function call "iput" SF Markus Elfring 2014-11-16 13:50 ` [Cocci] " SF Markus Elfring 2014-11-16 13:50 ` SF Markus Elfring 2014-11-16 15:56 ` Julia Lawall 2014-11-16 15:56 ` [Cocci] " Julia Lawall 2014-11-16 15:56 ` Julia Lawall 2014-11-16 19:13 ` [PATCH v2 0/2] kernel-trace: Fixes around the jump label "fail_address_parse" SF Markus Elfring 2014-11-16 19:13 ` [Cocci] " SF Markus Elfring 2014-11-16 19:13 ` SF Markus Elfring 2014-11-16 19:18 ` [PATCH v2 1/2] kernel-trace: Deletion of an unnecessary check before the function call "iput" SF Markus Elfring 2014-11-16 19:18 ` [Cocci] " SF Markus Elfring 2014-11-16 19:18 ` SF Markus Elfring 2014-11-16 19:22 ` [PATCH v2 2/2] kernel-trace: Less calls for iput() in create_trace_uprobe() after error detection SF Markus Elfring 2014-11-16 19:22 ` [Cocci] " SF Markus Elfring 2014-11-16 19:22 ` SF Markus Elfring 2014-11-16 19:31 ` Steven Rostedt 2014-11-16 19:31 ` [PATCH v2 2/2] kernel-trace: Less calls for iput() in create_trace_uprobe() after error detectio Steven Rostedt 2014-11-16 19:34 ` [PATCH v2 2/2] kernel-trace: Less calls for iput() in create_trace_uprobe() after error detection Julia Lawall 2014-11-16 19:34 ` [Cocci] " Julia Lawall 2014-11-16 19:34 ` [PATCH v2 2/2] kernel-trace: Less calls for iput() in create_trace_uprobe() after error detectio Julia Lawall 2014-11-16 21:49 ` [PATCH v2 2/2] kernel-trace: Less calls for iput() in create_trace_uprobe() after error detection Steven Rostedt 2014-11-16 21:49 ` [PATCH v2 2/2] kernel-trace: Less calls for iput() in create_trace_uprobe() after error detectio Steven Rostedt 2014-11-16 22:40 ` [PATCH 1/1] fs-jbd: Deletion of an unnecessary check before the function call "iput" SF Markus Elfring 2014-11-16 22:40 ` [Cocci] " SF Markus Elfring 2014-11-16 22:40 ` SF Markus Elfring 2014-11-16 22:40 ` SF Markus Elfring 2014-11-18 9:16 ` Jan Kara 2014-11-18 9:16 ` Jan Kara 2014-11-17 10:07 ` [PATCH 1/1] ALSA: hda: Deletion of unnecessary checks before two function calls SF Markus Elfring 2014-11-17 10:07 ` [Cocci] " SF Markus Elfring 2014-11-17 10:07 ` SF Markus Elfring 2014-11-17 10:07 ` SF Markus Elfring 2014-11-17 12:45 ` Takashi Iwai 2014-11-17 12:45 ` Takashi Iwai 2014-11-17 10:34 ` [PATCH 1/1] ALSA: ice17xx: Deletion of unnecessary checks before the function call "snd_ac97_resume" SF Markus Elfring 2014-11-17 10:34 ` [Cocci] " SF Markus Elfring 2014-11-17 10:34 ` SF Markus Elfring 2014-11-17 10:34 ` SF Markus Elfring 2014-11-17 12:46 ` Takashi Iwai 2014-11-17 12:46 ` [PATCH 1/1] ALSA: ice17xx: Deletion of unnecessary checks before the function call "snd_ac97_res Takashi Iwai 2014-11-17 11:48 ` [PATCH 1/1] ALSA: lola: Deletion of an unnecessary check before the function call "vfree" SF Markus Elfring 2014-11-17 11:48 ` [Cocci] " SF Markus Elfring 2014-11-17 11:48 ` SF Markus Elfring 2014-11-17 11:48 ` SF Markus Elfring 2014-11-17 12:46 ` Takashi Iwai 2014-11-17 12:46 ` Takashi Iwai 2014-11-17 12:12 ` [PATCH 1/1] ALSA: hdsp: Deletion of an unnecessary check before the function call "release_firmware" SF Markus Elfring 2014-11-17 12:12 ` [Cocci] " SF Markus Elfring 2014-11-17 12:12 ` SF Markus Elfring 2014-11-17 12:12 ` SF Markus Elfring 2014-11-17 12:47 ` Takashi Iwai 2014-11-17 12:47 ` [PATCH 1/1] ALSA: hdsp: Deletion of an unnecessary check before the function call "release_firmw Takashi Iwai 2014-11-17 12:41 ` [PATCH 1/1] ALSA: powermac: Deletion of an unnecessary check before the function call "pci_dev_put" SF Markus Elfring 2014-11-17 12:41 ` [Cocci] " SF Markus Elfring 2014-11-17 12:41 ` SF Markus Elfring 2014-11-17 12:41 ` SF Markus Elfring 2014-11-17 12:53 ` Takashi Iwai 2014-11-17 12:53 ` Takashi Iwai 2014-11-17 12:53 ` [PATCH 1/1] ALSA: powermac: Deletion of an unnecessary check before the function call "pci_dev_p Takashi Iwai 2014-11-17 13:15 ` ASoC: omap-mcbsp: Deletion of an unnecessary check before the function call "kfree" SF Markus Elfring 2014-11-17 13:15 ` SF Markus Elfring 2014-11-17 13:15 ` SF Markus Elfring 2014-11-17 19:11 ` Jarkko Nikula 2014-11-17 19:11 ` Jarkko Nikula 2014-11-17 19:11 ` Jarkko Nikula 2014-11-18 9:40 ` Mark Brown 2014-11-17 13:42 ` [PATCH 1/1] tools lib traceevent: Deletion of an unnecessary check before the function call "free_arg" SF Markus Elfring 2014-11-17 13:42 ` [Cocci] " SF Markus Elfring 2014-11-17 13:42 ` [PATCH 1/1] tools lib traceevent: Deletion of an unnecessary check before the function call "free_ar SF Markus Elfring 2014-11-17 17:11 ` [PATCH 1/1] perf tools: Deletion of unnecessary checks before two function calls SF Markus Elfring 2014-11-17 17:11 ` [Cocci] " SF Markus Elfring 2014-11-17 17:11 ` SF Markus Elfring 2014-11-17 17:40 ` [PATCH 1/1] mm/zswap: Deletion of an unnecessary check before the function call "free_percpu" SF Markus Elfring 2014-11-17 17:40 ` [Cocci] " SF Markus Elfring 2014-11-17 17:40 ` SF Markus Elfring 2014-11-17 17:40 ` SF Markus Elfring 2014-11-18 22:17 ` Seth Jennings 2014-11-18 22:17 ` Seth Jennings 2014-11-18 22:17 ` Seth Jennings 2014-11-17 18:19 ` [PATCH 1/1] hfs/hfs+: Deletion of unnecessary checks before the function call "hfs_bnode_put" SF Markus Elfring 2014-11-17 18:19 ` [Cocci] " SF Markus Elfring 2014-11-17 18:19 ` SF Markus Elfring 2014-11-17 18:19 ` SF Markus Elfring 2014-11-17 19:18 ` Vyacheslav Dubeyko 2014-11-17 19:18 ` Vyacheslav Dubeyko 2014-11-17 18:42 ` [PATCH 1/1] configfs: Deletion of unnecessary checks before the function call "config_item_put" SF Markus Elfring 2014-11-17 18:42 ` [Cocci] " SF Markus Elfring 2014-11-17 18:42 ` SF Markus Elfring 2014-11-18 8:35 ` [PATCH 1/1] fs-eventpoll: Deletion of unnecessary checks before the function call "__pm_stay_awake" SF Markus Elfring 2014-11-18 8:35 ` [Cocci] " SF Markus Elfring 2014-11-18 8:35 ` SF Markus Elfring 2014-11-18 8:35 ` SF Markus Elfring 2014-11-18 9:10 ` [PATCH 1/1] exofs: Deletion of an unnecessary check before the function call "ore_put_io_state" SF Markus Elfring 2014-11-18 9:10 ` [Cocci] " SF Markus Elfring 2014-11-18 9:10 ` SF Markus Elfring 2014-11-18 9:13 ` [osd-dev] " Boaz Harrosh 2014-11-18 9:13 ` [osd-dev] [PATCH 1/1] exofs: Deletion of an unnecessary check before the function call "ore_put_ Boaz Harrosh 2014-11-18 10:35 ` [PATCH 1/1] GFS2: Deletion of unnecessary checks before two function calls SF Markus Elfring 2014-11-18 10:35 ` [Cluster-devel] " SF Markus Elfring 2014-11-18 10:35 ` [Cocci] " SF Markus Elfring 2014-11-18 10:35 ` SF Markus Elfring 2014-11-18 11:05 ` Steven Whitehouse 2014-11-18 11:05 ` [Cluster-devel] " Steven Whitehouse 2014-11-18 11:20 ` [PATCH 1/1] fs-namespace: Deletion of unnecessary checks before the function call "mntput" SF Markus Elfring 2014-11-18 11:20 ` [Cocci] " SF Markus Elfring 2014-11-18 11:20 ` SF Markus Elfring 2014-11-18 11:20 ` SF Markus Elfring 2014-11-18 13:10 ` [PATCH 1/1] NFS: Deletion of unnecessary checks before the function call "nfs_put_client" SF Markus Elfring 2014-11-18 13:10 ` [Cocci] " SF Markus Elfring 2014-11-18 13:10 ` SF Markus Elfring 2014-11-18 13:48 ` [PATCH 1/1] nilfs2: Deletion of an unnecessary check before the function call "iput" SF Markus Elfring 2014-11-18 13:48 ` SF Markus Elfring 2014-11-18 13:48 ` [Cocci] " SF Markus Elfring 2014-11-18 13:48 ` SF Markus Elfring 2014-11-19 0:09 ` Ryusuke Konishi 2014-11-19 0:09 ` Ryusuke Konishi 2014-11-18 14:51 ` [PATCH 1/1] fs-proc: One function call less in proc_sys_lookup() after error detection SF Markus Elfring 2014-11-18 14:51 ` [Cocci] " SF Markus Elfring 2014-11-18 14:51 ` SF Markus Elfring 2014-11-18 17:55 ` [PATCH 0/2] fs-udf: Deletion of two unnecessary checks SF Markus Elfring 2014-11-18 17:55 ` [Cocci] " SF Markus Elfring 2014-11-18 17:55 ` SF Markus Elfring 2014-11-18 18:00 ` [PATCH 1/2] fs-udf: Deletion of unnecessary checks before the function call "iput" SF Markus Elfring 2014-11-18 18:00 ` [Cocci] " SF Markus Elfring 2014-11-18 18:00 ` SF Markus Elfring 2014-11-18 18:02 ` [PATCH 2/2] fs-udf: One function call less in udf_fill_super() after error detection SF Markus Elfring 2014-11-18 18:02 ` [Cocci] " SF Markus Elfring 2014-11-18 18:02 ` SF Markus Elfring 2014-11-19 20:57 ` [PATCH 0/2] fs-udf: Deletion of two unnecessary checks Jan Kara 2014-11-19 20:57 ` Jan Kara 2014-11-18 19:16 ` [PATCH 1/1] net: pktgen: Deletion of an unnecessary check before the function call "proc_remove" SF Markus Elfring 2014-11-18 19:16 ` [Cocci] " SF Markus Elfring 2014-11-18 19:16 ` SF Markus Elfring 2014-11-18 19:16 ` SF Markus Elfring 2014-11-19 20:20 ` David Miller 2014-11-19 20:20 ` David Miller 2014-11-18 19:47 ` [PATCH 1/1] netfilter: Deletion of unnecessary checks before two function calls SF Markus Elfring 2014-11-18 19:47 ` SF Markus Elfring 2014-11-18 19:47 ` SF Markus Elfring 2014-11-19 13:40 ` Pablo Neira Ayuso 2014-11-19 13:40 ` Pablo Neira Ayuso 2014-11-19 22:26 ` Julian Anastasov 2014-11-19 22:26 ` Julian Anastasov 2014-11-20 1:13 ` Simon Horman 2014-11-20 1:13 ` Simon Horman 2014-11-20 12:16 ` Pablo Neira Ayuso 2014-11-20 12:16 ` Pablo Neira Ayuso 2014-11-18 20:08 ` [PATCH 1/1] netlink: Deletion of an unnecessary check before the function call "__module_get" SF Markus Elfring 2014-11-18 20:08 ` [Cocci] " SF Markus Elfring 2014-11-18 20:08 ` SF Markus Elfring 2014-11-18 20:08 ` SF Markus Elfring 2014-11-19 20:28 ` David Miller 2014-11-19 20:28 ` David Miller 2014-11-18 20:26 ` [PATCH 1/1] net: sched: Deletion of an unnecessary check before the function call "kfree" SF Markus Elfring 2014-11-18 20:26 ` [Cocci] " SF Markus Elfring 2014-11-18 20:26 ` SF Markus Elfring 2014-11-18 20:26 ` SF Markus Elfring 2014-11-19 16:47 ` John Fastabend 2014-11-19 16:47 ` John Fastabend 2014-11-19 16:47 ` John Fastabend 2014-11-19 17:00 ` Daniel Borkmann 2014-11-19 17:00 ` Daniel Borkmann 2014-11-19 17:00 ` Daniel Borkmann 2014-11-19 18:49 ` SF Markus Elfring 2014-11-19 18:49 ` SF Markus Elfring 2014-11-19 18:49 ` SF Markus Elfring 2014-11-19 19:09 ` Daniel Borkmann 2014-11-19 19:09 ` Daniel Borkmann 2014-11-19 19:09 ` Daniel Borkmann 2014-11-20 8:47 ` Julia Lawall 2014-11-20 8:47 ` Julia Lawall 2014-11-20 9:22 ` Daniel Borkmann 2014-11-20 9:22 ` Daniel Borkmann 2014-11-20 9:22 ` Daniel Borkmann 2014-11-18 20:45 ` [PATCH 1/1] net: xfrm: Deletion of an unnecessary check before the function call "ipcomp_free_tfms" SF Markus Elfring 2014-11-18 20:45 ` [Cocci] " SF Markus Elfring 2014-11-18 20:45 ` SF Markus Elfring 2014-11-18 20:45 ` SF Markus Elfring 2014-11-19 8:45 ` Dan Carpenter 2014-11-19 8:45 ` [Cocci] " Dan Carpenter 2014-11-19 8:45 ` [PATCH 1/1] net: xfrm: Deletion of an unnecessary check before the function call "ipcomp_free_tf Dan Carpenter 2014-11-19 9:51 ` net: xfrm: Deletion of an unnecessary check before the function call "ipcomp_free_tfms" SF Markus Elfring 2014-11-19 9:51 ` SF Markus Elfring 2014-11-19 9:58 ` Julia Lawall 2014-11-19 9:58 ` Julia Lawall 2014-11-19 10:10 ` Dan Carpenter 2014-11-19 10:10 ` Dan Carpenter 2014-11-19 18:19 ` David Miller 2014-11-19 18:19 ` David Miller 2014-11-18 21:03 ` [PATCH 1/1] keys: Deletion of an unnecessary check before the function call "key_put" SF Markus Elfring 2014-11-18 21:03 ` [Cocci] " SF Markus Elfring 2014-11-18 21:03 ` SF Markus Elfring 2014-11-19 9:20 ` [PATCH 1/1] crypto-drbg: Deletion of unnecessary checks before the function call "kzfree" SF Markus Elfring 2014-11-19 9:20 ` SF Markus Elfring 2014-11-19 9:20 ` SF Markus Elfring 2014-11-20 14:39 ` Herbert Xu 2014-11-20 14:39 ` Herbert Xu 2014-11-20 16:00 ` SF Markus Elfring 2014-11-20 16:00 ` SF Markus Elfring 2014-11-19 10:44 ` [PATCH 1/1] firmware class: Deletion of an unnecessary check before the function call "vunmap" SF Markus Elfring 2014-11-19 10:44 ` SF Markus Elfring 2014-11-19 11:26 ` [PATCH 1/1] PM-wakeup: Deletion of an unnecessary check before the function call "wakeup_source_unregister" SF Markus Elfring 2014-11-19 11:26 ` SF Markus Elfring 2014-11-19 11:26 ` [PATCH 1/1] PM-wakeup: Deletion of an unnecessary check before the function call "wakeup_source_unre SF Markus Elfring 2014-11-19 12:09 ` [PATCH 1/1] PM-wakeup: Deletion of an unnecessary check before the function call "wakeup_source_unregister" Dan Carpenter 2014-11-19 12:09 ` [PATCH 1/1] PM-wakeup: Deletion of an unnecessary check before the function call "wakeup_source_ Dan Carpenter 2014-11-19 12:54 ` [PATCH 1/1] PM-wakeup: Deletion of an unnecessary check before the function call "wakeup_source_unregister" walter harms 2014-11-19 12:54 ` [PATCH 1/1] PM-wakeup: Deletion of an unnecessary check before the function call "wakeup_source_ walter harms 2014-11-19 13:05 ` [PATCH 1/1] PM-wakeup: Deletion of an unnecessary check before the function call "wakeup_source_unregister" Dan Carpenter 2014-11-19 13:05 ` [PATCH 1/1] PM-wakeup: Deletion of an unnecessary check before the function call "wakeup_source_ Dan Carpenter 2014-11-19 13:39 ` [PATCH 1/1] PM-wakeup: Deletion of an unnecessary check before the function call "wakeup_source_unregister" walter harms 2014-11-19 13:39 ` [PATCH 1/1] PM-wakeup: Deletion of an unnecessary check before the function call "wakeup_source_ walter harms 2014-11-19 12:43 ` [PATCH 1/1] drbd: Deletion of an unnecessary check before the function call "lc_destroy" SF Markus Elfring 2014-11-19 12:43 ` SF Markus Elfring 2014-11-19 13:28 ` [PATCH 1/1] agp/intel-gtt: Deletion of unnecessary checks before the function call "pci_dev_put" SF Markus Elfring 2014-11-19 13:28 ` SF Markus Elfring 2014-11-19 13:50 ` [PATCH 1/1] char: tpm: Deletion of unnecessary checks before the function call "tpm_dev_vendor_release" SF Markus Elfring 2014-11-19 13:50 ` [PATCH 1/1] char: tpm: Deletion of unnecessary checks before the function call "tpm_dev_vendor_relea SF Markus Elfring 2014-11-19 15:06 ` [PATCH 1/1] EDAC: Deletion of unnecessary checks before the function call "pci_dev_put" SF Markus Elfring 2014-11-19 15:06 ` SF Markus Elfring 2014-11-19 16:40 ` Borislav Petkov 2014-11-19 16:40 ` Borislav Petkov 2014-11-19 15:40 ` [PATCH 1/1] DRM-EDID: Deletion of an unnecessary check before the function call "release_firmware" SF Markus Elfring 2014-11-19 15:40 ` SF Markus Elfring 2014-11-19 15:40 ` SF Markus Elfring 2014-11-20 4:03 ` Thierry Reding 2014-11-19 16:14 ` [PATCH 1/1] DRM-tilcdc: Deletion of an unnecessary check before the function call "drm_fbdev_cma_hotplug_event" SF Markus Elfring 2014-11-19 16:14 ` SF Markus Elfring 2014-11-19 16:14 ` [PATCH 1/1] DRM-tilcdc: Deletion of an unnecessary check before the function call "drm_fbdev_cma_hot SF Markus Elfring 2014-11-20 4:11 ` [PATCH 1/1] DRM-tilcdc: Deletion of an unnecessary check before the function call "drm_fbdev_cma_hotplug_event" Thierry Reding 2014-11-20 4:11 ` Thierry Reding 2014-11-20 4:11 ` [PATCH 1/1] DRM-tilcdc: Deletion of an unnecessary check before the function call "drm_fbdev_cma Thierry Reding 2014-11-19 16:37 ` [PATCH 1/1] DRM-UDL: Deletion of an unnecessary check before the function call "vunmap" SF Markus Elfring 2014-11-19 16:37 ` SF Markus Elfring 2014-11-19 16:37 ` SF Markus Elfring 2014-11-20 4:17 ` Thierry Reding 2014-11-20 4:17 ` Thierry Reding 2014-11-20 4:17 ` Thierry Reding 2014-11-19 16:55 ` [PATCH 1/1] DRM-vmwgfx: Deletion of an unnecessary check before the function call "vfree" SF Markus Elfring 2014-11-19 16:55 ` SF Markus Elfring 2014-11-19 16:55 ` SF Markus Elfring 2014-11-20 4:22 ` Thierry Reding 2014-11-20 4:22 ` Thierry Reding 2014-11-20 4:22 ` Thierry Reding 2014-11-19 17:38 ` [PATCH 1/1] HID-picoLCD: Deletion of unnecessary checks before three function calls SF Markus Elfring 2014-11-19 17:38 ` SF Markus Elfring 2014-11-19 17:38 ` SF Markus Elfring 2014-11-19 19:55 ` [PATCH 1/1] mISDN: Deletion of unnecessary checks before the function call "vfree" SF Markus Elfring 2014-11-19 19:55 ` SF Markus Elfring 2014-11-19 19:55 ` SF Markus Elfring 2014-11-19 21:54 ` David Miller 2014-11-19 21:54 ` David Miller 2014-11-19 20:34 ` [PATCH 1/1] bcache: Deletion of an unnecessary check before the function call "kobject_put" SF Markus Elfring 2014-11-19 20:34 ` SF Markus Elfring 2014-11-19 20:34 ` SF Markus Elfring 2014-11-19 20:55 ` [PATCH 1/1] dm: Deletion of unnecessary checks before two function calls SF Markus Elfring 2014-11-19 20:55 ` SF Markus Elfring 2014-11-19 20:55 ` SF Markus Elfring 2014-11-20 8:19 ` [PATCH 0/3] [media] DVB-frontends: Deletion of a few unnecessary checks SF Markus Elfring 2014-11-20 8:19 ` SF Markus Elfring 2014-11-20 8:29 ` [PATCH 2/3] [media] m88ds3103: One function call less in m88ds3103_init() after error detection SF Markus Elfring 2014-11-20 8:29 ` SF Markus Elfring 2014-11-20 8:33 ` [PATCH 1/3] [media] DVB-frontends: Deletion of unnecessary checks before the function call "release_firmware" SF Markus Elfring 2014-11-20 8:33 ` [PATCH 1/3] [media] DVB-frontends: Deletion of unnecessary checks before the function call "release_ SF Markus Elfring 2014-11-20 8:39 ` [PATCH 3/3] [media] si2168: One function call less in si2168_init() after error detection SF Markus Elfring 2014-11-20 8:39 ` SF Markus Elfring 2014-11-20 9:55 ` [PATCH 1/1] [media] firewire: Deletion of an unnecessary check before the function call "dvb_unregister_device" SF Markus Elfring 2014-11-20 9:55 ` [PATCH 1/1] [media] firewire: Deletion of an unnecessary check before the function call "dvb_unregis SF Markus Elfring 2014-11-20 14:41 ` [PATCH 1/1] [media] firewire: Deletion of an unnecessary check before the function call "dvb_unregister_device" Stefan Richter 2014-11-20 14:41 ` [PATCH 1/1] [media] firewire: Deletion of an unnecessary check before the function call "dvb_unr Stefan Richter 2014-11-20 10:20 ` [PATCH 1/1] [media] i2c: Deletion of an unnecessary check before the function call "rc_unregister_device" SF Markus Elfring 2014-11-20 10:20 ` [PATCH 1/1] [media] i2c: Deletion of an unnecessary check before the function call "rc_unregister_de SF Markus Elfring 2014-11-20 10:50 ` [PATCH 1/1] [media] platform: Deletion of unnecessary checks before two function calls SF Markus Elfring 2014-11-20 10:50 ` SF Markus Elfring 2014-11-20 10:50 ` SF Markus Elfring 2014-11-20 10:50 ` SF Markus Elfring 2014-11-20 12:08 ` [PATCH 1/1] [media] rc: " SF Markus Elfring 2014-11-20 12:08 ` SF Markus Elfring 2014-11-20 12:33 ` [PATCH 1/1] [media] USB: Deletion of unnecessary checks before three " SF Markus Elfring 2014-11-20 12:33 ` SF Markus Elfring 2014-11-20 12:55 ` [PATCH 1/1] MTD: Deletion of unnecessary checks before two " SF Markus Elfring 2014-11-20 12:55 ` SF Markus Elfring 2014-11-20 12:55 ` SF Markus Elfring 2014-11-26 6:50 ` Brian Norris 2014-11-26 6:50 ` Brian Norris 2014-11-26 6:50 ` Brian Norris 2014-11-20 13:28 ` [PATCH 1/1] IBM-EMAC: Deletion of unnecessary checks before the function call "of_dev_put" SF Markus Elfring 2014-11-20 13:28 ` SF Markus Elfring 2014-11-20 13:28 ` SF Markus Elfring 2014-11-21 20:14 ` David Miller 2014-11-21 20:14 ` David Miller 2014-11-20 13:50 ` [PATCH 1/1] net: Xilinx: Deletion of unnecessary checks before two function calls SF Markus Elfring 2014-11-20 13:50 ` SF Markus Elfring 2014-11-20 13:50 ` SF Markus Elfring 2014-11-20 13:50 ` SF Markus Elfring 2014-11-20 17:29 ` Sören Brinkmann 2014-11-20 17:29 ` Sören Brinkmann 2014-11-20 17:29 ` Sören Brinkmann 2014-11-21 20:14 ` David Miller 2014-11-21 20:14 ` David Miller 2014-11-21 20:14 ` David Miller 2014-11-21 20:14 ` David Miller 2014-11-20 14:25 ` [PATCH 1/1] net: Hyper-V: Deletion of an unnecessary check before the function call "vfree" SF Markus Elfring 2014-11-20 14:25 ` SF Markus Elfring 2014-11-20 14:25 ` SF Markus Elfring 2014-11-20 18:58 ` Haiyang Zhang 2014-11-20 18:58 ` Haiyang Zhang 2014-11-20 18:58 ` Haiyang Zhang 2014-11-21 20:15 ` David Miller 2014-11-21 20:15 ` David Miller 2014-11-21 20:15 ` David Miller 2014-11-21 22:15 ` SF Markus Elfring 2014-11-21 22:15 ` SF Markus Elfring 2014-11-21 22:15 ` SF Markus Elfring 2014-11-21 22:27 ` David Miller 2014-11-21 22:27 ` David Miller 2014-11-21 22:27 ` David Miller 2014-11-23 0:51 ` SF Markus Elfring 2014-11-23 0:51 ` SF Markus Elfring 2014-11-23 0:51 ` SF Markus Elfring 2014-11-23 1:27 ` Eric Dumazet 2014-11-23 1:27 ` Eric Dumazet 2014-11-23 1:27 ` Eric Dumazet 2014-11-23 7:01 ` SF Markus Elfring 2014-11-23 7:01 ` SF Markus Elfring 2014-11-23 7:01 ` SF Markus Elfring 2014-11-23 4:36 ` David Miller 2014-11-23 4:36 ` David Miller 2014-11-23 7:18 ` SF Markus Elfring 2014-11-23 7:18 ` SF Markus Elfring 2014-11-23 18:37 ` David Miller 2014-11-23 18:37 ` David Miller 2014-11-23 18:37 ` David Miller 2014-11-25 21:55 ` [PATCH v2] " SF Markus Elfring 2014-11-25 21:55 ` SF Markus Elfring 2014-11-25 21:55 ` SF Markus Elfring 2014-11-25 22:25 ` David Miller 2014-11-25 22:25 ` David Miller 2014-11-20 15:16 ` [PATCH 1/1] net: USB: Deletion of unnecessary checks before the function call "kfree" SF Markus Elfring 2014-11-20 15:16 ` SF Markus Elfring 2014-11-20 15:16 ` SF Markus Elfring 2014-11-21 20:16 ` David Miller 2014-11-21 20:16 ` David Miller 2014-11-20 15:50 ` [PATCH 1/1] net: brcm80211: Deletion of unnecessary checks before two function calls SF Markus Elfring 2014-11-20 15:50 ` SF Markus Elfring 2014-11-20 15:50 ` SF Markus Elfring 2014-11-20 18:04 ` Arend van Spriel 2014-11-20 18:04 ` Arend van Spriel 2014-11-20 18:04 ` Arend van Spriel 2014-11-20 16:47 ` [PATCH 1/1] PCI: hotplug: Deletion of an unnecessary check before the function call "pci_dev_put" SF Markus Elfring 2014-11-20 16:47 ` SF Markus Elfring 2014-11-20 17:23 ` [PATCH 1/1] SCSI-OSD: Deletion of an unnecessary check before the function call "put_disk" SF Markus Elfring 2014-11-20 17:23 ` SF Markus Elfring 2014-11-20 17:23 ` SF Markus Elfring 2014-11-20 17:55 ` [PATCH 1/1] SCSI: Deletion of unnecessary checks before the function call "put_device" SF Markus Elfring 2014-11-20 17:55 ` SF Markus Elfring 2014-11-20 17:55 ` SF Markus Elfring 2014-11-20 19:15 ` [PATCH 1/1] SCSI-libfc: Deletion of an unnecessary check before the function call "fc_fcp_ddp_done" SF Markus Elfring 2014-11-20 19:15 ` SF Markus Elfring 2014-11-20 19:15 ` SF Markus Elfring 2014-11-20 19:42 ` [PATCH 1/1] SCSI-eata_pio: Deletion of an unnecessary check before the function call "pci_dev_put" SF Markus Elfring 2014-11-20 19:42 ` SF Markus Elfring 2014-11-20 19:42 ` SF Markus Elfring 2014-11-20 22:23 ` [PATCH 1/1] SCSI-aic94xx: Deletion of an unnecessary check before the function call "kfree" SF Markus Elfring 2014-11-20 22:23 ` SF Markus Elfring 2014-11-20 22:23 ` SF Markus Elfring 2014-11-20 22:46 ` [PATCH 1/1] SCSI-bfa: Deletion of an unnecessary check before the function call "vfree" SF Markus Elfring 2014-11-20 22:46 ` SF Markus Elfring 2014-11-20 22:46 ` SF Markus Elfring 2014-11-21 4:20 ` Anil Gurumurthy 2014-11-21 4:20 ` Anil Gurumurthy 2014-11-21 8:20 ` [PATCH 1/1] SCSI-libcxgbi: Deletion of an unnecessary check before the function call "dst_release" SF Markus Elfring 2014-11-21 8:20 ` SF Markus Elfring 2014-11-21 8:20 ` SF Markus Elfring 2014-11-21 8:45 ` [PATCH 1/1] SCSI-fnic: Deletion of an unnecessary check before the function call "vfree" SF Markus Elfring 2014-11-21 8:45 ` SF Markus Elfring 2014-11-21 8:45 ` SF Markus Elfring 2014-11-21 9:30 ` [PATCH 1/1] target: Deletion of unnecessary checks before the function call "module_put" SF Markus Elfring 2014-11-21 9:30 ` SF Markus Elfring 2014-11-21 9:30 ` SF Markus Elfring 2014-11-21 21:57 ` Nicholas A. Bellinger 2014-11-21 21:57 ` Nicholas A. Bellinger 2014-11-21 10:12 ` [PATCH 1/1] thermal: Exynos: Deletion of unnecessary checks before two function calls SF Markus Elfring 2014-11-21 10:12 ` SF Markus Elfring 2014-11-21 10:12 ` SF Markus Elfring 2014-11-21 10:12 ` SF Markus Elfring 2014-11-21 10:17 ` Julia Lawall 2014-11-21 10:17 ` Julia Lawall 2014-11-21 10:17 ` Julia Lawall 2014-11-21 13:25 ` SF Markus Elfring 2014-11-21 13:25 ` SF Markus Elfring 2014-11-21 13:25 ` SF Markus Elfring 2014-11-21 13:25 ` SF Markus Elfring 2014-11-21 16:17 ` [PATCH v2] " SF Markus Elfring 2014-11-21 16:17 ` SF Markus Elfring 2014-11-21 16:17 ` SF Markus Elfring 2014-11-21 16:17 ` SF Markus Elfring 2014-11-21 10:40 ` [PATCH 1/1] thunderbolt: Deletion of unnecessary checks before the function call "ring_free" SF Markus Elfring 2014-11-21 10:40 ` SF Markus Elfring 2014-11-21 11:29 ` Andreas Noever 2014-11-21 11:29 ` Andreas Noever 2014-11-21 12:21 ` SF Markus Elfring 2014-11-21 12:21 ` SF Markus Elfring 2014-11-21 18:14 ` Joe Perches [this message] 2014-11-21 18:14 ` Joe Perches 2014-11-23 14:14 ` SF Markus Elfring 2014-11-23 14:14 ` SF Markus Elfring 2014-11-23 15:20 ` Joe Perches 2014-11-23 15:20 ` Joe Perches 2014-11-23 15:42 ` SF Markus Elfring 2014-11-23 15:42 ` SF Markus Elfring 2014-11-23 15:51 ` Julia Lawall 2014-11-23 15:51 ` Julia Lawall 2014-11-23 19:03 ` SF Markus Elfring 2014-11-23 19:03 ` SF Markus Elfring 2014-11-23 19:06 ` Joe Perches 2014-11-23 19:06 ` Joe Perches 2014-11-23 15:45 ` Andreas Noever 2014-11-23 15:45 ` Andreas Noever 2014-11-23 15:56 ` Joe Perches 2014-11-23 15:56 ` Joe Perches 2014-11-21 11:45 ` [PATCH 1/1] tty-hvsi_lib: Deletion of an unnecessary check before the function call "tty_kref_put" SF Markus Elfring 2014-11-21 11:45 ` SF Markus Elfring 2014-11-21 11:45 ` SF Markus Elfring 2014-11-21 12:51 ` [PATCH 1/1] tty: Deletion of unnecessary checks before two function calls SF Markus Elfring 2014-11-21 12:51 ` SF Markus Elfring 2014-11-21 13:55 ` [PATCH 1/1] USB: gadget: function: Deletion of an unnecessary check before the function call "rndis_add_hdr" SF Markus Elfring 2014-11-21 13:55 ` [PATCH 1/1] USB: gadget: function: Deletion of an unnecessary check before the function call "rndis_ SF Markus Elfring 2014-11-21 14:23 ` [PATCH 1/1] USB: PCI-quirks: Deletion of unnecessary checks before the function call "pci_dev_put" SF Markus Elfring 2014-11-21 14:23 ` SF Markus Elfring 2014-11-21 14:55 ` [PATCH 1/1] USB-SIS: Deletion of an unnecessary check before the function call "usb_put_dev" SF Markus Elfring 2014-11-21 14:55 ` SF Markus Elfring 2014-11-21 15:20 ` [PATCH 1/1] USB: serial: Deletion of an unnecessary check before the function call "release_firmware" SF Markus Elfring 2014-11-21 15:20 ` [PATCH 1/1] USB: serial: Deletion of an unnecessary check before the function call "release_firmware SF Markus Elfring 2014-11-21 15:26 ` [PATCH 1/1] USB: serial: Deletion of an unnecessary check before the function call "release_firmware" Julia Lawall 2014-11-21 15:26 ` [PATCH 1/1] USB: serial: Deletion of an unnecessary check before the function call "release_firm Julia Lawall 2014-11-21 15:48 ` USB: serial: Deletion of an unnecessary check before the function call "release_firmware" SF Markus Elfring 2014-11-21 15:48 ` SF Markus Elfring 2014-11-21 17:59 ` Julia Lawall 2014-11-21 17:59 ` Julia Lawall 2014-11-24 9:10 ` Johan Hovold 2014-11-24 9:10 ` Johan Hovold 2014-11-21 15:36 ` [PATCH 1/1] USB-IP: Deletion of unnecessary checks before the function call "usb_put_dev" SF Markus Elfring 2014-11-21 15:36 ` SF Markus Elfring 2014-11-21 17:44 ` Valentina Manea 2014-11-21 17:44 ` Valentina Manea 2014-11-21 17:40 ` [PATCH 1/1] ALSA: core: Deletion of unnecessary checks before two function calls SF Markus Elfring 2014-11-21 17:40 ` SF Markus Elfring 2014-11-21 17:40 ` SF Markus Elfring 2014-11-21 19:07 ` Takashi Iwai 2014-11-21 19:07 ` Takashi Iwai 2014-11-21 18:11 ` [PATCH 1/1] ALSA: es1688_lib: Deletion of an unnecessary check before the function call "release_and_free_resource" SF Markus Elfring 2014-11-21 18:11 ` SF Markus Elfring 2014-11-21 18:11 ` [PATCH 1/1] ALSA: es1688_lib: Deletion of an unnecessary check before the function call "release_and SF Markus Elfring 2014-11-21 19:08 ` [PATCH 1/1] ALSA: es1688_lib: Deletion of an unnecessary check before the function call "release_and_free_resource" Takashi Iwai 2014-11-21 19:08 ` [PATCH 1/1] ALSA: es1688_lib: Deletion of an unnecessary check before the function call "release Takashi Iwai 2014-11-21 18:35 ` [PATCH 1/1] ALSA: sb: Deletion of unnecessary checks before two function calls SF Markus Elfring 2014-11-21 18:35 ` SF Markus Elfring 2014-11-21 18:35 ` SF Markus Elfring 2014-11-21 19:08 ` Takashi Iwai 2014-11-21 19:08 ` Takashi Iwai 2014-11-21 19:26 ` [PATCH 1/1] IDE: Deletion of an unnecessary check before the function call "module_put" SF Markus Elfring 2014-11-21 19:26 ` SF Markus Elfring 2014-11-21 19:26 ` SF Markus Elfring 2014-11-21 23:01 ` [PATCH 1/1] [IA64] Deletion of unnecessary checks before the function call "unw_remove_unwind_table" SF Markus Elfring 2014-11-21 23:01 ` SF Markus Elfring 2014-11-22 21:09 ` Dan Carpenter 2014-11-22 21:09 ` [PATCH 1/1] [IA64] Deletion of unnecessary checks before the function call "unw_remove_unwind_ta Dan Carpenter 2014-11-22 10:00 ` [PATCH 1/1] ARM: OMAP2: Deletion of unnecessary checks before three function calls SF Markus Elfring 2014-11-22 10:00 ` SF Markus Elfring 2014-11-22 10:00 ` SF Markus Elfring 2014-11-22 10:00 ` SF Markus Elfring 2014-11-22 10:40 ` [PATCH 1/1] ARM-kernel: Deletion of unnecessary checks before two " SF Markus Elfring 2014-11-22 10:40 ` SF Markus Elfring 2014-11-22 10:40 ` SF Markus Elfring 2014-11-22 12:00 ` [PATCH 1/1] x86: PCI-Calgary: Deletion of an unnecessary check before the function call "free_tce_table" SF Markus Elfring 2014-11-22 12:00 ` [PATCH 1/1] x86: PCI-Calgary: Deletion of an unnecessary check before the function call "free_tce_ta SF Markus Elfring 2014-11-25 15:48 ` [PATCH 1/1] x86: PCI-Calgary: Deletion of an unnecessary check before the function call "free_tce_table" Jon Mason 2014-11-25 15:48 ` [PATCH 1/1] x86: PCI-Calgary: Deletion of an unnecessary check before the function call "free_tc Jon Mason 2014-11-22 13:10 ` [PATCH 1/1] x86: AMD-perf_event: Deletion of unnecessary checks before the function call "free_percpu" SF Markus Elfring 2014-11-22 13:10 ` [PATCH 1/1] x86: AMD-perf_event: Deletion of unnecessary checks before the function call "free_percp SF Markus Elfring 2014-11-22 14:05 ` [PATCH 1/1] s390/pci: Deletion of unnecessary checks before the function call "debug_unregister" SF Markus Elfring 2014-11-22 14:05 ` SF Markus Elfring 2014-11-24 19:06 ` Sebastian Ott 2014-11-24 19:06 ` Sebastian Ott 2014-11-22 15:26 ` [PATCH 1/1] PowerPC-83xx: Deletion of an unnecessary check before the function call "of_node_put" SF Markus Elfring 2014-11-22 15:26 ` SF Markus Elfring 2014-11-22 15:26 ` SF Markus Elfring 2014-11-22 16:00 ` [PATCH 1/1] video: fbdev-LCDC: Deletion of an unnecessary check before the function call "vfree" SF Markus Elfring 2014-11-22 16:00 ` SF Markus Elfring 2014-11-23 10:11 ` [PATCH 1/1] video: uvesafb: Deletion of an unnecessary check before the function call "uvesafb_free" SF Markus Elfring 2014-11-23 10:11 ` SF Markus Elfring 2014-11-23 10:44 ` [PATCH 1/1] video: udlfb: Deletion of unnecessary checks before the function call "vfree" SF Markus Elfring 2014-11-23 10:44 ` SF Markus Elfring 2014-11-23 11:33 ` [PATCH 1/1] video: smscufx: " SF Markus Elfring 2014-11-23 11:33 ` SF Markus Elfring 2014-11-23 12:00 ` [PATCH 1/1] video: fbdev-SIS: Deletion of unnecessary checks before the function call "pci_dev_put" SF Markus Elfring 2014-11-23 12:00 ` SF Markus Elfring 2014-11-23 13:14 ` [PATCH 1/1] video: fbdev-OMAP2: Deletion of unnecessary checks before the function call "i2c_put_adapter" SF Markus Elfring 2014-11-23 13:14 ` SF Markus Elfring 2014-11-23 13:14 ` [PATCH 1/1] video: fbdev-OMAP2: Deletion of unnecessary checks before the function call "i2c_put_ada SF Markus Elfring 2014-11-23 14:20 ` [PATCH 1/1] video: mx3fb: Deletion of an unnecessary check before the function call "backlight_device_unregister" SF Markus Elfring 2014-11-23 14:20 ` [PATCH 1/1] video: mx3fb: Deletion of an unnecessary check before the function call "backlight_devic SF Markus Elfring 2014-11-23 15:00 ` [PATCH 1/1] video: fbdev-MMP: Deletion of an unnecessary check before the function call "mmp_unregister_path" SF Markus Elfring 2014-11-23 15:00 ` [PATCH 1/1] video: fbdev-MMP: Deletion of an unnecessary check before the function call "mmp_unregis SF Markus Elfring 2014-11-23 15:33 ` [PATCH 1/1] video: fbdev-VIA: Deletion of an unnecessary check before the function call "framebuffer_release" SF Markus Elfring 2014-11-23 15:33 ` [PATCH 1/1] video: fbdev-VIA: Deletion of an unnecessary check before the function call "framebuffer SF Markus Elfring 2014-11-23 16:10 ` [PATCH 1/1] video: uvesafb: Deletion of an unnecessary check before the function call "platform_device_put" SF Markus Elfring 2014-11-23 16:10 ` [PATCH 1/1] video: uvesafb: Deletion of an unnecessary check before the function call "platform_devi SF Markus Elfring 2014-11-23 16:40 ` [PATCH 1/1] backlight: lp8788: Deletion of an unnecessary check before the function call "backlight_device_unregister" SF Markus Elfring 2014-11-23 16:40 ` [PATCH 1/1] backlight: lp8788: Deletion of an unnecessary check before the function call "backlight_ SF Markus Elfring 2014-11-24 10:09 ` [PATCH 1/1] backlight: lp8788: Deletion of an unnecessary check before the function call "backlight_device_unregister" Lee Jones 2014-11-24 10:09 ` [PATCH 1/1] backlight: lp8788: Deletion of an unnecessary check before the function call "backli Lee Jones 2014-11-24 10:09 ` Lee Jones 2014-11-24 10:10 ` [PATCH 1/1] backlight: lp8788: Deletion of an unnecessary check before the function call "backlight_device_unregister" Lee Jones 2014-11-24 10:10 ` [PATCH 1/1] backlight: lp8788: Deletion of an unnecessary check before the function call "backli Lee Jones 2014-11-24 10:10 ` Lee Jones 2014-11-24 18:05 ` [PATCH v2] backlight: lp8788: Deletion of a check before backlight_device_unregister() SF Markus Elfring 2014-11-24 18:05 ` SF Markus Elfring 2014-11-23 18:33 ` [PATCH 0/2] staging: android: ion: Deletion of a few unnecessary checks SF Markus Elfring 2014-11-23 18:33 ` SF Markus Elfring 2014-11-23 18:33 ` SF Markus Elfring 2014-11-23 18:39 ` [PATCH 1/2] staging: android: ion: Deletion of unnecessary checks before two function calls SF Markus Elfring 2014-11-23 18:39 ` SF Markus Elfring 2014-11-23 18:39 ` SF Markus Elfring 2014-11-23 18:44 ` [PATCH 2/2] staging: android: ion: One function call less in ion_buffer_create() after error detection SF Markus Elfring 2014-11-23 18:44 ` [PATCH 2/2] staging: android: ion: One function call less in ion_buffer_create() after error detecti SF Markus Elfring 2014-11-26 21:42 ` [PATCH 2/2] staging: android: ion: One function call less in ion_buffer_create() after error detection Greg Kroah-Hartman 2014-11-26 21:42 ` [PATCH 2/2] staging: android: ion: One function call less in ion_buffer_create() after error det Greg Kroah-Hartman 2014-11-27 14:25 ` [PATCH 2/2] staging: android: ion: One function call less in ion_buffer_create() after error detection SF Markus Elfring 2014-11-27 14:25 ` [PATCH 2/2] staging: android: ion: One function call less in ion_buffer_create() after error det SF Markus Elfring 2014-11-27 15:23 ` walter harms 2014-11-24 19:40 ` [PATCH 1/1] platform: x86: Deletion of checks before backlight_device_unregister() SF Markus Elfring 2014-11-24 19:40 ` SF Markus Elfring 2014-11-24 19:40 ` SF Markus Elfring 2014-11-24 8:28 ` Darren Hart 2014-11-24 8:28 ` Darren Hart 2014-11-24 21:28 ` Anisse Astier 2014-11-24 21:28 ` Anisse Astier 2014-11-24 22:12 ` SF Markus Elfring 2014-11-24 22:12 ` SF Markus Elfring 2014-11-27 18:13 ` Julia Lawall 2014-11-27 18:13 ` Julia Lawall 2014-11-24 21:04 ` [PATCH 1/1] Sony-laptop: Deletion of an unnecessary check before the function call "pci_dev_put" SF Markus Elfring 2014-11-24 21:04 ` SF Markus Elfring 2014-11-24 21:04 ` SF Markus Elfring 2014-11-24 8:28 ` Darren Hart 2014-11-24 8:28 ` Darren Hart 2014-11-24 21:40 ` [PATCH 1/1] [media] Siano: Deletion of an unnecessary check before the function call "rc_unregister_device" SF Markus Elfring 2014-11-24 21:40 ` [PATCH 1/1] [media] Siano: Deletion of an unnecessary check before the function call "rc_unregister_ SF Markus Elfring 2014-11-24 22:03 ` [PATCH 1/1] staging: olpc_dcon: Deletion of a check before backlight_device_unregister() SF Markus Elfring 2014-11-24 22:03 ` SF Markus Elfring 2014-11-25 12:50 ` [PATCH 1/1] GPU-DRM-MSM-Adreno: Deletion of unnecessary checks before the function call "release_firmware" SF Markus Elfring 2014-11-25 12:50 ` SF Markus Elfring 2014-11-25 12:50 ` [PATCH 1/1] GPU-DRM-MSM-Adreno: Deletion of unnecessary checks before the function call "release_fir SF Markus Elfring 2014-11-25 13:33 ` [PATCH 1/1] GPU-DRM-MSM: Deletion of unnecessary checks before two function calls SF Markus Elfring 2014-11-25 13:33 ` SF Markus Elfring 2014-11-25 13:33 ` SF Markus Elfring 2014-11-25 15:16 ` [PATCH 1/1] IMX-DRM-core: Deletion of a check before drm_fbdev_cma_restore_mode() SF Markus Elfring 2014-11-25 15:16 ` SF Markus Elfring 2014-11-25 15:57 ` [PATCH 1/1] staging: ozwpan: Deletion of unnecessary checks before the function call "oz_free_urb_link" SF Markus Elfring 2014-11-25 15:57 ` [PATCH 1/1] staging: ozwpan: Deletion of unnecessary checks before the function call "oz_free_urb_li SF Markus Elfring 2014-11-29 13:42 ` [PATCH 1/1] HID: Wacom: Deletion of an unnecessary check before the function call "vfree" SF Markus Elfring 2014-11-29 13:42 ` [Cocci] " SF Markus Elfring 2014-11-29 13:42 ` SF Markus Elfring 2014-11-29 13:42 ` SF Markus Elfring 2014-11-29 14:05 ` [PATCH 1/1] net: cassini: " SF Markus Elfring 2014-11-29 14:05 ` [Cocci] " SF Markus Elfring 2014-11-29 14:05 ` SF Markus Elfring 2014-11-29 14:05 ` SF Markus Elfring 2014-11-29 14:33 ` [PATCH 1/1] HID: Wacom: Deletion of unnecessary checks before the function call "input_free_device" SF Markus Elfring 2014-11-29 14:33 ` [Cocci] " SF Markus Elfring 2014-11-29 14:33 ` SF Markus Elfring 2014-11-29 14:33 ` SF Markus Elfring [not found] ` <5317A59D.4@users.so urceforge.net> [not found] ` <5317A59D.4-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@public.gmane.org> 2014-11-19 18:25 ` [PATCH 1/1] InfiniBand: Deletion of unnecessary checks before two function calls SF Markus Elfring 2014-11-19 18:25 ` SF Markus Elfring 2014-11-19 18:25 ` SF Markus Elfring 2014-03-01 8:16 ` [Cocci] Improvements for passing of big regular expressions in SmPL constraints? SF Markus Elfring 2014-03-01 13:15 ` Julia Lawall 2014-03-01 13:34 ` SF Markus Elfring 2014-03-01 13:36 ` Julia Lawall 2014-03-08 12:30 ` [Cocci] Determination of the number for named function parameters SF Markus Elfring 2014-03-08 14:16 ` Julia Lawall 2014-03-08 15:10 ` SF Markus Elfring 2014-03-08 20:01 ` SF Markus Elfring 2014-03-08 21:41 ` Julia Lawall 2014-03-09 8:00 ` SF Markus Elfring 2014-03-09 8:12 ` Julia Lawall 2014-03-09 8:50 ` SF Markus Elfring 2014-03-14 14:25 ` SF Markus Elfring 2014-03-09 12:51 ` SF Markus Elfring 2014-03-09 13:06 ` Julia Lawall 2014-03-09 13:36 ` SF Markus Elfring 2014-03-09 13:40 ` Julia Lawall 2014-03-09 13:51 ` SF Markus Elfring 2014-03-10 18:00 ` [Cocci] Selection of class libraries ...? SF Markus Elfring 2014-03-10 18:19 ` Julia Lawall 2014-03-10 18:30 ` SF Markus Elfring 2014-03-10 19:24 ` Julia Lawall 2014-03-10 21:10 ` SF Markus Elfring 2014-03-10 21:15 ` Julia Lawall 2014-03-10 21:26 ` SF Markus Elfring 2014-03-12 10:10 ` [Cocci] Clarification for OCaml scripts in SmPL SF Markus Elfring 2014-03-12 12:10 ` SF Markus Elfring 2014-03-14 0:19 ` Julia Lawall 2014-03-13 23:56 ` Julia Lawall 2014-03-13 23:58 ` Julia Lawall 2014-03-14 0:09 ` Julia Lawall 2014-03-14 7:14 ` SF Markus Elfring 2014-03-14 8:29 ` Julia Lawall 2014-03-14 8:39 ` SF Markus Elfring 2014-03-14 8:48 ` Julia Lawall 2014-03-14 9:01 ` SF Markus Elfring 2014-03-08 21:59 ` [Cocci] Determination of the number for named function parameters Julia Lawall 2014-03-09 7:01 ` SF Markus Elfring 2014-03-09 7:13 ` Julia Lawall 2014-03-09 7:18 ` [Cocci] Improvements for the SmPL grammar description? SF Markus Elfring 2014-02-26 7:25 ` [Cocci] Branch layout for if statements with SmPL disjunctions SF Markus Elfring 2014-02-26 9:39 ` Julia Lawall 2014-11-28 16:00 ` [Cocci] Remove unnecessary null pointer checks? SF Markus Elfring 2014-03-27 13:41 ` [Cocci] How to exclude volatile data accesses in expressions with SmPL? SF Markus Elfring 2014-03-27 18:10 ` Julia Lawall 2014-03-27 18:39 ` SF Markus Elfring 2014-03-27 18:43 ` Julia Lawall 2014-03-27 18:59 ` SF Markus Elfring 2014-04-07 15:07 ` SF Markus Elfring 2014-04-07 15:16 ` Julia Lawall 2014-04-07 15:28 ` SF Markus Elfring 2014-04-07 15:34 ` Julia Lawall 2014-04-07 15:40 ` SF Markus Elfring
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1416593688.6651.39.camel@perches.com \ --to=joe@perches.com \ --cc=andreas.noever@gmail.com \ --cc=elfring@users.sourceforge.net \ --cc=julia.lawall@lip6.fr \ --cc=kernel-janitors@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.