FreeBSD Bugzilla – Attachment 175173 Details for
Bug 212841
getting panic during mps reinitialization.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Adding some delay in the previous fix.
doorbell_2.diff (text/plain), 1.81 KB, created by
prateek sethi
on 2016-09-26 08:53:48 UTC
(
hide
)
Description:
Adding some delay in the previous fix.
Filename:
MIME Type:
Creator:
prateek sethi
Created:
2016-09-26 08:53:48 UTC
Size:
1.81 KB
patch
obsolete
>Index: mps.c >=================================================================== >--- mps.c (revision 306014) >+++ mps.c (working copy) >@@ -989,8 +989,8 @@ > { > MPI2_DEFAULT_REPLY *reply; > MPI2_IOC_FACTS_REQUEST request; >- int error, req_sz, reply_sz; >- >+ int error, req_sz, reply_sz, retry = 0; >+ > MPS_FUNCTRACE(sc); > > req_sz = sizeof(MPI2_IOC_FACTS_REQUEST); >@@ -999,8 +999,14 @@ > > bzero(&request, req_sz); > request.Function = MPI2_FUNCTION_IOC_FACTS; >- error = mps_request_sync(sc, &request, reply, req_sz, reply_sz, 5); >- >+ while(retry < 5){ >+ error = mps_request_sync(sc, &request, reply, req_sz, reply_sz, 5); >+ if(!error) >+ break; >+ mps_dprint(sc, MPS_FAULT, "mps_request_sync failed retry %d\n",retry); >+ DELAY(1000); >+ retry++; >+ } > return (error); > } > >@@ -1009,7 +1015,7 @@ > { > MPI2_IOC_INIT_REQUEST init; > MPI2_DEFAULT_REPLY reply; >- int req_sz, reply_sz, error; >+ int req_sz, reply_sz, error, retry = 0; > struct timeval now; > uint64_t time_in_msec; > >@@ -1044,11 +1050,17 @@ > time_in_msec = (now.tv_sec * 1000 + now.tv_usec/1000); > init.TimeStamp.High = htole32((time_in_msec >> 32) & 0xFFFFFFFF); > init.TimeStamp.Low = htole32(time_in_msec & 0xFFFFFFFF); >+ while(retry < 5){ >+ error = mps_request_sync(sc, &init, &reply, req_sz, reply_sz, 5); >+ if ((reply.IOCStatus & MPI2_IOCSTATUS_MASK) != MPI2_IOCSTATUS_SUCCESS) >+ error = ENXIO; >+ if(!error) >+ break; >+ mps_dprint(sc, MPS_FAULT, "mps_request_sync failed retry %d\n",retry); >+ DELAY(1000); >+ retry++; >+ } > >- error = mps_request_sync(sc, &init, &reply, req_sz, reply_sz, 5); >- if ((reply.IOCStatus & MPI2_IOCSTATUS_MASK) != MPI2_IOCSTATUS_SUCCESS) >- error = ENXIO; >- > mps_dprint(sc, MPS_INIT, "IOCInit status= 0x%x\n", reply.IOCStatus); > return (error); > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 212841
:
174985
|
174986
| 175173