]> err.no Git - linux-2.6/blobdiff - drivers/s390/scsi/zfcp_dbf.c
Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6] / drivers / s390 / scsi / zfcp_dbf.c
index 01e817abe0a5c61cb841c91a1cf25a5912254553..fca48b88fc53b662be4e85dce9aaec8a3038e293 100644 (file)
@@ -1,22 +1,9 @@
 /*
- * This file is part of the zfcp device driver for
- * FCP adapters for IBM System z9 and zSeries.
+ * zfcp device driver
  *
- * (C) Copyright IBM Corp. 2002, 2006
+ * Debug traces for zfcp.
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * Copyright IBM Corporation 2002, 2008
  */
 
 #include <linux/ctype.h>
@@ -29,8 +16,6 @@ module_param(dbfsize, uint, 0400);
 MODULE_PARM_DESC(dbfsize,
                 "number of pages for each debug feature area (default 4)");
 
-#define ZFCP_LOG_AREA                  ZFCP_LOG_AREA_OTHER
-
 static void zfcp_dbf_hexdump(debug_info_t *dbf, void *to, int to_len,
                             int level, char *from, int from_len)
 {
@@ -312,15 +297,13 @@ void zfcp_hba_dbf_event_fsf_unsol(const char *tag, struct zfcp_adapter *adapter,
 /**
  * zfcp_hba_dbf_event_qdio - trace event for QDIO related failure
  * @adapter: adapter affected by this QDIO related event
- * @status: as passed by qdio module
  * @qdio_error: as passed by qdio module
- * @siga_error: as passed by qdio module
  * @sbal_index: first buffer with error condition, as passed by qdio module
  * @sbal_count: number of buffers affected, as passed by qdio module
  */
-void zfcp_hba_dbf_event_qdio(struct zfcp_adapter *adapter, unsigned int status,
-                            unsigned int qdio_error, unsigned int siga_error,
-                            int sbal_index, int sbal_count)
+void zfcp_hba_dbf_event_qdio(struct zfcp_adapter *adapter,
+                            unsigned int qdio_error, int sbal_index,
+                            int sbal_count)
 {
        struct zfcp_hba_dbf_record *r = &adapter->hba_dbf_buf;
        unsigned long flags;
@@ -328,9 +311,7 @@ void zfcp_hba_dbf_event_qdio(struct zfcp_adapter *adapter, unsigned int status,
        spin_lock_irqsave(&adapter->hba_dbf_lock, flags);
        memset(r, 0, sizeof(*r));
        strncpy(r->tag, "qdio", ZFCP_DBF_TAG_SIZE);
-       r->u.qdio.status = status;
        r->u.qdio.qdio_error = qdio_error;
-       r->u.qdio.siga_error = siga_error;
        r->u.qdio.sbal_index = sbal_index;
        r->u.qdio.sbal_count = sbal_count;
        debug_event(adapter->hba_dbf, 0, r, sizeof(*r));
@@ -413,9 +394,7 @@ static void zfcp_hba_dbf_view_status(char **p,
 
 static void zfcp_hba_dbf_view_qdio(char **p, struct zfcp_hba_dbf_record_qdio *r)
 {
-       zfcp_dbf_out(p, "status", "0x%08x", r->status);
        zfcp_dbf_out(p, "qdio_error", "0x%08x", r->qdio_error);
-       zfcp_dbf_out(p, "siga_error", "0x%08x", r->siga_error);
        zfcp_dbf_out(p, "sbal_index", "0x%02x", r->sbal_index);
        zfcp_dbf_out(p, "sbal_count", "0x%02x", r->sbal_count);
 }
@@ -515,13 +494,13 @@ static const char *zfcp_rec_dbf_ids[] = {
        [52]    = "port boxed close unit",
        [53]    = "port boxed fcp",
        [54]    = "unit boxed fcp",
-       [55]    = "port access denied ct",
-       [56]    = "port access denied els",
-       [57]    = "port access denied open port",
-       [58]    = "port access denied close physical",
-       [59]    = "unit access denied open unit",
+       [55]    = "port access denied",
+       [56]    = "",
+       [57]    = "",
+       [58]    = "",
+       [59]    = "unit access denied",
        [60]    = "shared unit access denied open unit",
-       [61]    = "unit access denied fcp",
+       [61]    = "",
        [62]    = "request timeout",
        [63]    = "adisc link test reject or timeout",
        [64]    = "adisc link test d_id changed",
@@ -586,8 +565,8 @@ static const char *zfcp_rec_dbf_ids[] = {
        [120]   = "unknown fsf command",
        [121]   = "no recommendation for status qualifier",
        [122]   = "status read physical port closed in error",
-       [123]   = "fc service class not supported ct",
-       [124]   = "fc service class not supported els",
+       [123]   = "fc service class not supported",
+       [124]   = "",
        [125]   = "need newer zfcp",
        [126]   = "need newer microcode",
        [127]   = "arbitrated loop not supported",
@@ -595,7 +574,7 @@ static const char *zfcp_rec_dbf_ids[] = {
        [129]   = "qtcb size mismatch",
        [130]   = "unknown fsf status ecd",
        [131]   = "fcp request too big",
-       [132]   = "fc service class not supported fcp",
+       [132]   = "",
        [133]   = "data direction not valid fcp",
        [134]   = "command length not valid fcp",
        [135]   = "status read act update",
@@ -603,13 +582,18 @@ static const char *zfcp_rec_dbf_ids[] = {
        [137]   = "hbaapi port open",
        [138]   = "hbaapi unit open",
        [139]   = "hbaapi unit shutdown",
-       [140]   = "qdio error",
+       [140]   = "qdio error outbound",
        [141]   = "scsi host reset",
        [142]   = "dismissing fsf request for recovery action",
        [143]   = "recovery action timed out",
        [144]   = "recovery action gone",
        [145]   = "recovery action being processed",
        [146]   = "recovery action ready for next step",
+       [147]   = "qdio error inbound",
+       [148]   = "nameserver needed for port scan",
+       [149]   = "port scan",
+       [150]   = "ptp attach",
+       [151]   = "port validation failed",
 };
 
 static int zfcp_rec_dbf_view_format(debug_info_t *id, struct debug_view *view,
@@ -971,7 +955,7 @@ void zfcp_san_dbf_event_incoming_els(struct zfcp_fsf_req *fsf_req)
 
        zfcp_san_dbf_event_els("iels", 1, fsf_req, buf->d_id,
                               fc_host_port_id(adapter->scsi_host),
-                              *(u8 *)buf->payload, (void *)buf->payload,
+                              buf->payload.data[0], (void *)buf->payload.data,
                               length);
 }
 
@@ -1075,8 +1059,7 @@ static void zfcp_scsi_dbf_event(const char *tag, const char *tag2, int level,
                        if (fsf_req != NULL) {
                                fcp_rsp = (struct fcp_rsp_iu *)
                                    &(fsf_req->qtcb->bottom.io.fcp_rsp);
-                               fcp_rsp_info =
-                                   zfcp_get_fcp_rsp_info_ptr(fcp_rsp);
+                               fcp_rsp_info = (unsigned char *) &fcp_rsp[1];
                                fcp_sns_info =
                                    zfcp_get_fcp_sns_info_ptr(fcp_rsp);
 
@@ -1290,5 +1273,3 @@ void zfcp_adapter_debug_unregister(struct zfcp_adapter *adapter)
        adapter->hba_dbf = NULL;
        adapter->rec_dbf = NULL;
 }
-
-#undef ZFCP_LOG_AREA