diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/s390/scsi/zfcp_qdio.c | 34 |
1 files changed, 6 insertions, 28 deletions
diff --git a/drivers/s390/scsi/zfcp_qdio.c b/drivers/s390/scsi/zfcp_qdio.c index 1e12a78e8edd..e50e6ad4e6cb 100644 --- a/drivers/s390/scsi/zfcp_qdio.c +++ b/drivers/s390/scsi/zfcp_qdio.c | |||
@@ -285,8 +285,8 @@ zfcp_qdio_request_handler(struct ccw_device *ccw_device, | |||
285 | /** | 285 | /** |
286 | * zfcp_qdio_reqid_check - checks for valid reqids or unsolicited status | 286 | * zfcp_qdio_reqid_check - checks for valid reqids or unsolicited status |
287 | */ | 287 | */ |
288 | static int zfcp_qdio_reqid_check(struct zfcp_adapter *adapter, | 288 | static void zfcp_qdio_reqid_check(struct zfcp_adapter *adapter, |
289 | unsigned long req_id) | 289 | unsigned long req_id) |
290 | { | 290 | { |
291 | struct zfcp_fsf_req *fsf_req; | 291 | struct zfcp_fsf_req *fsf_req; |
292 | unsigned long flags; | 292 | unsigned long flags; |
@@ -298,9 +298,7 @@ static int zfcp_qdio_reqid_check(struct zfcp_adapter *adapter, | |||
298 | 298 | ||
299 | if (!fsf_req) { | 299 | if (!fsf_req) { |
300 | spin_unlock_irqrestore(&adapter->req_list_lock, flags); | 300 | spin_unlock_irqrestore(&adapter->req_list_lock, flags); |
301 | ZFCP_LOG_NORMAL("error: unknown request id (%ld).\n", req_id); | 301 | panic("error: unknown request id (%ld).\n", req_id); |
302 | zfcp_erp_adapter_reopen(adapter, 0); | ||
303 | return -EINVAL; | ||
304 | } | 302 | } |
305 | 303 | ||
306 | zfcp_reqlist_remove(adapter, req_id); | 304 | zfcp_reqlist_remove(adapter, req_id); |
@@ -309,8 +307,6 @@ static int zfcp_qdio_reqid_check(struct zfcp_adapter *adapter, | |||
309 | 307 | ||
310 | /* finish the FSF request */ | 308 | /* finish the FSF request */ |
311 | zfcp_fsf_req_complete(fsf_req); | 309 | zfcp_fsf_req_complete(fsf_req); |
312 | |||
313 | return 0; | ||
314 | } | 310 | } |
315 | 311 | ||
316 | /* | 312 | /* |
@@ -374,27 +370,9 @@ zfcp_qdio_response_handler(struct ccw_device *ccw_device, | |||
374 | 370 | ||
375 | /* look for QDIO request identifiers in SB */ | 371 | /* look for QDIO request identifiers in SB */ |
376 | buffere = &buffer->element[buffere_index]; | 372 | buffere = &buffer->element[buffere_index]; |
377 | retval = zfcp_qdio_reqid_check(adapter, | 373 | zfcp_qdio_reqid_check(adapter, |
378 | (unsigned long) buffere->addr); | 374 | (unsigned long) buffere->addr); |
379 | 375 | ||
380 | if (retval) { | ||
381 | ZFCP_LOG_NORMAL("bug: unexpected inbound " | ||
382 | "packet on adapter %s " | ||
383 | "(reqid=0x%lx, " | ||
384 | "first_element=%d, " | ||
385 | "elements_processed=%d)\n", | ||
386 | zfcp_get_busid_by_adapter(adapter), | ||
387 | (unsigned long) buffere->addr, | ||
388 | first_element, | ||
389 | elements_processed); | ||
390 | ZFCP_LOG_NORMAL("hex dump of inbound buffer " | ||
391 | "at address %p " | ||
392 | "(buffer_index=%d, " | ||
393 | "buffere_index=%d)\n", buffer, | ||
394 | buffer_index, buffere_index); | ||
395 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_NORMAL, | ||
396 | (char *) buffer, SBAL_SIZE); | ||
397 | } | ||
398 | /* | 376 | /* |
399 | * A single used SBALE per inbound SBALE has been | 377 | * A single used SBALE per inbound SBALE has been |
400 | * implemented by QDIO so far. Hope they will | 378 | * implemented by QDIO so far. Hope they will |