diff options
Diffstat (limited to 'drivers/scsi/bfa/bfad_bsg.c')
-rw-r--r-- | drivers/scsi/bfa/bfad_bsg.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/scsi/bfa/bfad_bsg.c b/drivers/scsi/bfa/bfad_bsg.c index 0467c349251a..157f6044a9bb 100644 --- a/drivers/scsi/bfa/bfad_bsg.c +++ b/drivers/scsi/bfa/bfad_bsg.c | |||
@@ -229,6 +229,18 @@ bfad_iocmd_iocfc_get_attr(struct bfad_s *bfad, void *cmd) | |||
229 | } | 229 | } |
230 | 230 | ||
231 | int | 231 | int |
232 | bfad_iocmd_ioc_fw_sig_inv(struct bfad_s *bfad, void *cmd) | ||
233 | { | ||
234 | struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)cmd; | ||
235 | unsigned long flags; | ||
236 | |||
237 | spin_lock_irqsave(&bfad->bfad_lock, flags); | ||
238 | iocmd->status = bfa_ioc_fwsig_invalidate(&bfad->bfa.ioc); | ||
239 | spin_unlock_irqrestore(&bfad->bfad_lock, flags); | ||
240 | return 0; | ||
241 | } | ||
242 | |||
243 | int | ||
232 | bfad_iocmd_iocfc_set_intr(struct bfad_s *bfad, void *cmd) | 244 | bfad_iocmd_iocfc_set_intr(struct bfad_s *bfad, void *cmd) |
233 | { | 245 | { |
234 | struct bfa_bsg_iocfc_intr_s *iocmd = (struct bfa_bsg_iocfc_intr_s *)cmd; | 246 | struct bfa_bsg_iocfc_intr_s *iocmd = (struct bfa_bsg_iocfc_intr_s *)cmd; |
@@ -2893,6 +2905,9 @@ bfad_iocmd_handler(struct bfad_s *bfad, unsigned int cmd, void *iocmd, | |||
2893 | case IOCMD_IOC_PCIFN_CFG: | 2905 | case IOCMD_IOC_PCIFN_CFG: |
2894 | rc = bfad_iocmd_ioc_get_pcifn_cfg(bfad, iocmd); | 2906 | rc = bfad_iocmd_ioc_get_pcifn_cfg(bfad, iocmd); |
2895 | break; | 2907 | break; |
2908 | case IOCMD_IOC_FW_SIG_INV: | ||
2909 | rc = bfad_iocmd_ioc_fw_sig_inv(bfad, iocmd); | ||
2910 | break; | ||
2896 | case IOCMD_PCIFN_CREATE: | 2911 | case IOCMD_PCIFN_CREATE: |
2897 | rc = bfad_iocmd_pcifn_create(bfad, iocmd); | 2912 | rc = bfad_iocmd_pcifn_create(bfad, iocmd); |
2898 | break; | 2913 | break; |