diff options
Diffstat (limited to 'drivers/s390/scsi/zfcp_dbf.c')
-rw-r--r-- | drivers/s390/scsi/zfcp_dbf.c | 59 |
1 files changed, 1 insertions, 58 deletions
diff --git a/drivers/s390/scsi/zfcp_dbf.c b/drivers/s390/scsi/zfcp_dbf.c index e1a8cc2526e..96d1462e0bf 100644 --- a/drivers/s390/scsi/zfcp_dbf.c +++ b/drivers/s390/scsi/zfcp_dbf.c | |||
@@ -3,13 +3,12 @@ | |||
3 | * | 3 | * |
4 | * Debug traces for zfcp. | 4 | * Debug traces for zfcp. |
5 | * | 5 | * |
6 | * Copyright IBM Corp. 2002, 2010 | 6 | * Copyright IBM Corporation 2002, 2010 |
7 | */ | 7 | */ |
8 | 8 | ||
9 | #define KMSG_COMPONENT "zfcp" | 9 | #define KMSG_COMPONENT "zfcp" |
10 | #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt | 10 | #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt |
11 | 11 | ||
12 | #include <linux/module.h> | ||
13 | #include <linux/ctype.h> | 12 | #include <linux/ctype.h> |
14 | #include <linux/slab.h> | 13 | #include <linux/slab.h> |
15 | #include <asm/debug.h> | 14 | #include <asm/debug.h> |
@@ -164,62 +163,6 @@ void zfcp_dbf_hba_bit_err(char *tag, struct zfcp_fsf_req *req) | |||
164 | spin_unlock_irqrestore(&dbf->hba_lock, flags); | 163 | spin_unlock_irqrestore(&dbf->hba_lock, flags); |
165 | } | 164 | } |
166 | 165 | ||
167 | /** | ||
168 | * zfcp_dbf_hba_def_err - trace event for deferred error messages | ||
169 | * @adapter: pointer to struct zfcp_adapter | ||
170 | * @req_id: request id which caused the deferred error message | ||
171 | * @scount: number of sbals incl. the signaling sbal | ||
172 | * @pl: array of all involved sbals | ||
173 | */ | ||
174 | void zfcp_dbf_hba_def_err(struct zfcp_adapter *adapter, u64 req_id, u16 scount, | ||
175 | void **pl) | ||
176 | { | ||
177 | struct zfcp_dbf *dbf = adapter->dbf; | ||
178 | struct zfcp_dbf_pay *payload = &dbf->pay_buf; | ||
179 | unsigned long flags; | ||
180 | u16 length; | ||
181 | |||
182 | if (!pl) | ||
183 | return; | ||
184 | |||
185 | spin_lock_irqsave(&dbf->pay_lock, flags); | ||
186 | memset(payload, 0, sizeof(*payload)); | ||
187 | |||
188 | memcpy(payload->area, "def_err", 7); | ||
189 | payload->fsf_req_id = req_id; | ||
190 | payload->counter = 0; | ||
191 | length = min((u16)sizeof(struct qdio_buffer), | ||
192 | (u16)ZFCP_DBF_PAY_MAX_REC); | ||
193 | |||
194 | while (payload->counter < scount && (char *)pl[payload->counter]) { | ||
195 | memcpy(payload->data, (char *)pl[payload->counter], length); | ||
196 | debug_event(dbf->pay, 1, payload, zfcp_dbf_plen(length)); | ||
197 | payload->counter++; | ||
198 | } | ||
199 | |||
200 | spin_unlock_irqrestore(&dbf->pay_lock, flags); | ||
201 | } | ||
202 | |||
203 | /** | ||
204 | * zfcp_dbf_hba_basic - trace event for basic adapter events | ||
205 | * @adapter: pointer to struct zfcp_adapter | ||
206 | */ | ||
207 | void zfcp_dbf_hba_basic(char *tag, struct zfcp_adapter *adapter) | ||
208 | { | ||
209 | struct zfcp_dbf *dbf = adapter->dbf; | ||
210 | struct zfcp_dbf_hba *rec = &dbf->hba_buf; | ||
211 | unsigned long flags; | ||
212 | |||
213 | spin_lock_irqsave(&dbf->hba_lock, flags); | ||
214 | memset(rec, 0, sizeof(*rec)); | ||
215 | |||
216 | memcpy(rec->tag, tag, ZFCP_DBF_TAG_LEN); | ||
217 | rec->id = ZFCP_DBF_HBA_BASIC; | ||
218 | |||
219 | debug_event(dbf->hba, 1, rec, sizeof(*rec)); | ||
220 | spin_unlock_irqrestore(&dbf->hba_lock, flags); | ||
221 | } | ||
222 | |||
223 | static void zfcp_dbf_set_common(struct zfcp_dbf_rec *rec, | 166 | static void zfcp_dbf_set_common(struct zfcp_dbf_rec *rec, |
224 | struct zfcp_adapter *adapter, | 167 | struct zfcp_adapter *adapter, |
225 | struct zfcp_port *port, | 168 | struct zfcp_port *port, |