diff options
Diffstat (limited to 'drivers/s390/scsi/zfcp_dbf.c')
-rw-r--r-- | drivers/s390/scsi/zfcp_dbf.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/drivers/s390/scsi/zfcp_dbf.c b/drivers/s390/scsi/zfcp_dbf.c index 3c1d22097ad0..e1a8cc2526e7 100644 --- a/drivers/s390/scsi/zfcp_dbf.c +++ b/drivers/s390/scsi/zfcp_dbf.c | |||
@@ -191,7 +191,7 @@ void zfcp_dbf_hba_def_err(struct zfcp_adapter *adapter, u64 req_id, u16 scount, | |||
191 | length = min((u16)sizeof(struct qdio_buffer), | 191 | length = min((u16)sizeof(struct qdio_buffer), |
192 | (u16)ZFCP_DBF_PAY_MAX_REC); | 192 | (u16)ZFCP_DBF_PAY_MAX_REC); |
193 | 193 | ||
194 | while ((char *)pl[payload->counter] && payload->counter < scount) { | 194 | while (payload->counter < scount && (char *)pl[payload->counter]) { |
195 | memcpy(payload->data, (char *)pl[payload->counter], length); | 195 | memcpy(payload->data, (char *)pl[payload->counter], length); |
196 | debug_event(dbf->pay, 1, payload, zfcp_dbf_plen(length)); | 196 | debug_event(dbf->pay, 1, payload, zfcp_dbf_plen(length)); |
197 | payload->counter++; | 197 | payload->counter++; |
@@ -200,6 +200,26 @@ void zfcp_dbf_hba_def_err(struct zfcp_adapter *adapter, u64 req_id, u16 scount, | |||
200 | spin_unlock_irqrestore(&dbf->pay_lock, flags); | 200 | spin_unlock_irqrestore(&dbf->pay_lock, flags); |
201 | } | 201 | } |
202 | 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 | |||
203 | static void zfcp_dbf_set_common(struct zfcp_dbf_rec *rec, | 223 | static void zfcp_dbf_set_common(struct zfcp_dbf_rec *rec, |
204 | struct zfcp_adapter *adapter, | 224 | struct zfcp_adapter *adapter, |
205 | struct zfcp_port *port, | 225 | struct zfcp_port *port, |