diff options
| author | Jan Glauber <jang@linux.vnet.ibm.com> | 2009-12-18 11:43:25 -0500 |
|---|---|---|
| committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2009-12-18 11:43:32 -0500 |
| commit | 7883097f1602c8cbb1da764a6ac43e0b8a7f56d9 (patch) | |
| tree | 56eb8ce552c71ac18e8869f51ef05c6af965fd49 | |
| parent | ca633fd006486ed2c2d3b542283067aab61e6dc8 (diff) | |
[S390] qdio: remove superfluous log entries and WARN_ONs.
* Don't write debug feature log entries for sl, slsb and sbal since these
elements can be located from the qdio_q pointer which is also logged.
* Convert WARN_ON for wrong alignment of sbal to BUG_ON.
* Remove WARN_ON's for wrong alignment of q / qib / slib since these
alignments should be guaranteed by kmem_cache_alloc alignment /
struct aligned attribute / __get_free_page.
Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
| -rw-r--r-- | drivers/s390/cio/qdio_setup.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/drivers/s390/cio/qdio_setup.c b/drivers/s390/cio/qdio_setup.c index 18d54fc21ce9..8c2dea5fa2b4 100644 --- a/drivers/s390/cio/qdio_setup.c +++ b/drivers/s390/cio/qdio_setup.c | |||
| @@ -48,7 +48,6 @@ static void set_impl_params(struct qdio_irq *irq_ptr, | |||
| 48 | if (!irq_ptr) | 48 | if (!irq_ptr) |
| 49 | return; | 49 | return; |
| 50 | 50 | ||
| 51 | WARN_ON((unsigned long)&irq_ptr->qib & 0xff); | ||
| 52 | irq_ptr->qib.pfmt = qib_param_field_format; | 51 | irq_ptr->qib.pfmt = qib_param_field_format; |
| 53 | if (qib_param_field) | 52 | if (qib_param_field) |
| 54 | memcpy(irq_ptr->qib.parm, qib_param_field, | 53 | memcpy(irq_ptr->qib.parm, qib_param_field, |
| @@ -82,14 +81,12 @@ static int __qdio_allocate_qs(struct qdio_q **irq_ptr_qs, int nr_queues) | |||
| 82 | q = kmem_cache_alloc(qdio_q_cache, GFP_KERNEL); | 81 | q = kmem_cache_alloc(qdio_q_cache, GFP_KERNEL); |
| 83 | if (!q) | 82 | if (!q) |
| 84 | return -ENOMEM; | 83 | return -ENOMEM; |
| 85 | WARN_ON((unsigned long)q & 0xff); | ||
| 86 | 84 | ||
| 87 | q->slib = (struct slib *) __get_free_page(GFP_KERNEL); | 85 | q->slib = (struct slib *) __get_free_page(GFP_KERNEL); |
| 88 | if (!q->slib) { | 86 | if (!q->slib) { |
| 89 | kmem_cache_free(qdio_q_cache, q); | 87 | kmem_cache_free(qdio_q_cache, q); |
| 90 | return -ENOMEM; | 88 | return -ENOMEM; |
| 91 | } | 89 | } |
| 92 | WARN_ON((unsigned long)q->slib & 0x7ff); | ||
| 93 | irq_ptr_qs[i] = q; | 90 | irq_ptr_qs[i] = q; |
| 94 | } | 91 | } |
| 95 | return 0; | 92 | return 0; |
| @@ -131,7 +128,7 @@ static void setup_storage_lists(struct qdio_q *q, struct qdio_irq *irq_ptr, | |||
| 131 | /* fill in sbal */ | 128 | /* fill in sbal */ |
| 132 | for (j = 0; j < QDIO_MAX_BUFFERS_PER_Q; j++) { | 129 | for (j = 0; j < QDIO_MAX_BUFFERS_PER_Q; j++) { |
| 133 | q->sbal[j] = *sbals_array++; | 130 | q->sbal[j] = *sbals_array++; |
| 134 | WARN_ON((unsigned long)q->sbal[j] & 0xff); | 131 | BUG_ON((unsigned long)q->sbal[j] & 0xff); |
| 135 | } | 132 | } |
| 136 | 133 | ||
| 137 | /* fill in slib */ | 134 | /* fill in slib */ |
| @@ -147,11 +144,6 @@ static void setup_storage_lists(struct qdio_q *q, struct qdio_irq *irq_ptr, | |||
| 147 | /* fill in sl */ | 144 | /* fill in sl */ |
| 148 | for (j = 0; j < QDIO_MAX_BUFFERS_PER_Q; j++) | 145 | for (j = 0; j < QDIO_MAX_BUFFERS_PER_Q; j++) |
| 149 | q->sl->element[j].sbal = (unsigned long)q->sbal[j]; | 146 | q->sl->element[j].sbal = (unsigned long)q->sbal[j]; |
| 150 | |||
| 151 | DBF_EVENT("sl-slsb-sbal"); | ||
| 152 | DBF_HEX(q->sl, sizeof(void *)); | ||
| 153 | DBF_HEX(&q->slsb, sizeof(void *)); | ||
| 154 | DBF_HEX(q->sbal, sizeof(void *)); | ||
| 155 | } | 147 | } |
| 156 | 148 | ||
| 157 | static void setup_queues(struct qdio_irq *irq_ptr, | 149 | static void setup_queues(struct qdio_irq *irq_ptr, |
