OpenSolaris

Printable Version Enter a New Search
Bug ID 6803279
Synopsis bofi_intercept_intr() shouild work with MSI (X) interrupt
State 10-Fix Delivered (Fix available in build)
Category:Subcategory fma:other
Keywords opensolaris
Responsible Engineer Stephen Hanson
Reported Against snv_107
Duplicate Of
Introduced In solaris_nevada
Commit to Fix snv_112
Fixed In snv_112
Release Fixed solaris_nevada(snv_112) , solaris_10u8(s10u8_01) (Bug ID:2175286)
Related Bugs
Submit Date 10-February-2009
Last Update Date 8-April-2009
Description
Category
   driver
Sub-Category
   other
Description
   see above
Frequency
   Always
Regression
   No
Steps to Reproduce
   see above
Expected Result
   see above
Actual Result
   see above
Error Message(s)
   see above
Test Case
   see above
Workaround
   see above
Additional configuration information
   I was trying to enable bofi and some of my hba's interrupt got lost,
After checking with bofi I saw these code:
   4506 /*
   4507  * bofi intercept routine - gets called instead of users interrupt routine
   4508  */
   4509 static uint_t
   4510 bofi_intercept_intr(caddr_t xp)
   4511 {
   4512 struct bofi_errent *ep;
   4513 struct bofi_link   *lp;
   4514 struct bofi_shadow *hp;
   4515 int intr_count = 1;
   4516 int i;
   4517 uint_t retval = DDI_INTR_UNCLAIMED;
   4518 uint_t result;
   4519 int unclaimed_counter = 0;
   4520 int jabber_detected = 0;
   4521 
   4522 hp = (struct bofi_shadow *)xp;
   4523 /*
   4524  * check if nothing to do
   4525  */
   4526 if (hp->link == NULL)
   4527 return (hp->save.intr.int_handler
   4528     (hp->save.intr.int_handler_arg1, NULL)); <---NULL
   4529 mutex_enter(&bofi_mutex);
The code works okay with fixed type interrupt, with MSI-(X) interrupt from non zero msi id got lost. This should be fixed.
Work Around
N/A
Comments
N/A