Home
last modified time | relevance | path

Searched refs:recover (Results 1 – 111 of 111) sorted by relevance

/linux-4.4.14/arch/avr32/mach-at32ap/
Dhsmc.c35 int recover; in smc_set_timing() local
94 recover = ns2cyc(timing->ncs_read_recover); in smc_set_timing()
96 recover = 1; in smc_set_timing()
98 cycle = config->ncs_read_setup + config->ncs_read_pulse + recover; in smc_set_timing()
105 recover = ns2cyc(timing->nrd_recover); in smc_set_timing()
107 recover = 1; in smc_set_timing()
109 cycle = config->nrd_setup + config->nrd_pulse + recover; in smc_set_timing()
116 recover = ns2cyc(timing->ncs_write_recover); in smc_set_timing()
118 recover = 1; in smc_set_timing()
120 cycle = config->ncs_write_setup + config->ncs_write_pulse + recover; in smc_set_timing()
[all …]
/linux-4.4.14/drivers/ata/
Dpata_cmd640.c76 if (t.recover > 16) { in cmd640_set_piomode()
77 t.active += t.recover - 16; in cmd640_set_piomode()
78 t.recover = 16; in cmd640_set_piomode()
86 if (t.recover > 1) in cmd640_set_piomode()
87 t.recover--; /* 640B only */ in cmd640_set_piomode()
89 t.recover = 15; in cmd640_set_piomode()
106 pci_write_config_byte(pdev, arttim + 1, (t.active << 4) | t.recover); in cmd640_set_piomode()
115 timing->reg58[adev->devno] = (t.active << 4) | t.recover; in cmd640_set_piomode()
Dpata_cmd64x.c133 t.active, t.recover, t.setup); in cmd64x_set_timing()
134 if (t.recover > 16) { in cmd64x_set_timing()
135 t.active += t.recover - 16; in cmd64x_set_timing()
136 t.recover = 16; in cmd64x_set_timing()
144 if (t.recover == 16) in cmd64x_set_timing()
145 t.recover = 0; in cmd64x_set_timing()
146 else if (t.recover > 1) in cmd64x_set_timing()
147 t.recover--; in cmd64x_set_timing()
149 t.recover = 15; in cmd64x_set_timing()
165 pci_write_config_byte(pdev, drwtim, (t.active << 4) | t.recover); in cmd64x_set_timing()
Dpata_legacy.c363 u8 active, recover; in ht6560a_set_piomode() local
370 recover = clamp_val(t.recover, 4, 15); in ht6560a_set_piomode()
377 iowrite8(recover << 4 | active, ap->ioaddr.device_addr); in ht6560a_set_piomode()
397 u8 active, recover; in ht6560b_set_piomode() local
404 recover = clamp_val(t.recover, 2, 16) & 0x0F; in ht6560b_set_piomode()
411 iowrite8(recover << 4 | active, ap->ioaddr.device_addr); in ht6560b_set_piomode()
461 u8 active, recover, setup; in opti82c611a_set_piomode() local
488 recover = clamp_val(t.recover, 1, 16) - 1; in opti82c611a_set_piomode()
498 iowrite8(active << 4 | recover, ap->ioaddr.error_addr); in opti82c611a_set_piomode()
509 iowrite8(active << 4 | recover, ap->ioaddr.data_addr); in opti82c611a_set_piomode()
[all …]
Dpata_ns87410.c94 at.recover = clamp_val(at.recover, 1, 12) - 1; in ns87410_set_piomode()
96 idetcr = (at.setup << 6) | (recoverbits[at.recover] << 3) | activebits[at.active]; in ns87410_set_piomode()
Dpata_at32.c99 int recover; in pata_at32_setup_timing() local
118 recover = smc->read_cycle - active; in pata_at32_setup_timing()
121 if (recover < 2) in pata_at32_setup_timing()
Dpata_icside.c204 if (t.active <= 50 && t.recover <= 375 && t.cycle <= 425) in pata_icside_set_dmamode()
206 else if (t.active <= 125 && t.recover <= 375 && t.cycle <= 500) in pata_icside_set_dmamode()
208 else if (t.active <= 200 && t.recover <= 550 && t.cycle <= 750) in pata_icside_set_dmamode()
214 t.active, t.recover, t.cycle, iomd_type); in pata_icside_set_dmamode()
Dpata_ali.c185 t->recover = clamp_val(t->recover, 1, 16) & 15; in ali_program_modes()
189 pci_write_config_byte(pdev, drwt, (t->active << 4) | t->recover); in ali_program_modes()
Dpata_cypress.c64 time_16 = clamp_val(t.recover - 1, 0, 15) | in cy82c693_set_piomode()
Dpata_ns87415.c69 clocking |= (16 - clamp_val(t.recover, 1, 16)) << 4; in ns87415_set_mode()
Dlibata-core.c2952 q->recover = EZ(t->recover * 1000, T); in ata_timing_quantize()
2966 if (what & ATA_TIMING_RECOVER) m->recover = max(a->recover, b->recover); in ata_timing_merge()
3050 if (t->active + t->recover < t->cycle) { in ata_timing_compute()
3051 t->active += (t->cycle - (t->active + t->recover)) / 2; in ata_timing_compute()
3052 t->recover = t->cycle - t->active; in ata_timing_compute()
3058 if (t->active + t->recover > t->cycle) in ata_timing_compute()
3059 t->cycle = t->active + t->recover; in ata_timing_compute()
Dpata_ep93xx.c269 unsigned long t2i = reg ? t->rec8b : t->recover; in ep93xx_pata_read()
303 unsigned long t2i = reg ? t->rec8b : t->recover; in ep93xx_pata_write()
Dpata_atp867x.c240 atp867x_get_recover_clocks_shifted(t.recover); in atp867x_set_piomode()
Dpata_amd.c94 ((clamp_val(at.active, 1, 16) - 1) << 4) | (clamp_val(at.recover, 1, 16) - 1)); in timing_setup()
Dpata_via.c291 ((clamp_val(t.active, 1, 16) - 1) << 4) | (clamp_val(t.recover, 1, 16) - 1)); in via_do_set_mode()
Dpata_octeon_cf.c242 Tkr = timing->recover; in octeon_cf_set_dmamode()
/linux-4.4.14/drivers/ide/
Dide-timings.c117 q->recover = EZ(t->recover * 1000, T); in ide_timing_quantize()
136 m->recover = max(a->recover, b->recover); in ide_timing_merge()
204 if (t->active + t->recover < t->cycle) { in ide_timing_compute()
205 t->active += (t->cycle - (t->active + t->recover)) / 2; in ide_timing_compute()
206 t->recover = t->cycle - t->active; in ide_timing_compute()
Dcmd64x.c74 if (t.recover > 16) { in cmd64x_program_timings()
75 t.active += t.recover - 16; in cmd64x_program_timings()
76 t.recover = 16; in cmd64x_program_timings()
84 t.recover = recovery_values[t.recover]; in cmd64x_program_timings()
89 (t.active << 4) | t.recover); in cmd64x_program_timings()
Dalim15x3.c86 t->recover = clamp_val(t->recover, 1, 16) & 15; in ali_program_timings()
91 (t->active << 4) | t->recover); in ali_program_timings()
Dcy82c693.c105 time_16 = clamp_val(t.recover - 1, 0, 15) | in cy82c693_set_pio_mode()
Damd74xx.c63 ((clamp_val(timing->active, 1, 16) - 1) << 4) | (clamp_val(timing->recover, 1, 16) - 1)); in amd_set_speed()
Dvia82cxxx.c142 ((clamp_val(timing->active, 1, 16) - 1) << 4) | (clamp_val(timing->recover, 1, 16) - 1)); in via_set_speed()
/linux-4.4.14/arch/ia64/lib/
Dstrlen_user.S111 chk.s v[1], .recover // if already NaT, then directly skip to recover
133 (p6) br.cond.spnt .recover // jump to recovery if val1 is NaT
140 (p7) br.cond.spnt .recover // jump to recovery if val2 is NaT
165 .recover: label
Dstrlen.S130 (p6) br.cond.spnt .recover // jump to recovery if val1 is NaT
137 (p7) br.cond.spnt .recover // jump to recovery if val2 is NaT
168 .recover: label
/linux-4.4.14/drivers/target/iscsi/
Discsi_target_erl0.c371 goto recover; in iscsit_dataout_check_datasn()
381 recover: in iscsit_dataout_check_datasn()
418 goto recover; in iscsit_dataout_pre_datapduinorder_yes()
428 goto recover; in iscsit_dataout_pre_datapduinorder_yes()
441 recover: in iscsit_dataout_pre_datapduinorder_yes()
661 goto recover; in iscsit_dataout_post_crc_failed()
680 recover: in iscsit_dataout_post_crc_failed()
/linux-4.4.14/fs/dlm/
DMakefile15 recover.o \
Dlock.c731 int recover = (flags & R_RECEIVE_RECOVER); in find_rsb_nodir() local
764 if (!recover && (r->res_master_nodeid != our_nodeid) && from_nodeid) { in find_rsb_nodir()
774 if (!recover && (r->res_master_nodeid != our_nodeid) && in find_rsb_nodir()
2299 int recover) in _can_be_granted() argument
2356 if (conv && recover) in _can_be_granted()
2445 int recover, int *err) in can_be_granted() argument
2454 rv = _can_be_granted(r, lkb, now, recover); in can_be_granted()
2519 int recover = rsb_flag(r, RSB_RECOVER_GRANT); in grant_pending_convert() local
2533 if (can_be_granted(r, lkb, 0, recover, &deadlk)) { in grant_pending_convert()
/linux-4.4.14/fs/btrfs/
Dscrub.c90 struct scrub_recover *recover; member
859 static inline void scrub_get_recover(struct scrub_recover *recover) in scrub_get_recover() argument
861 atomic_inc(&recover->refs); in scrub_get_recover()
864 static inline void scrub_put_recover(struct scrub_recover *recover) in scrub_put_recover() argument
866 if (atomic_dec_and_test(&recover->refs)) { in scrub_put_recover()
867 btrfs_put_bbio(recover->bbio); in scrub_put_recover()
868 kfree(recover); in scrub_put_recover()
1239 struct scrub_recover *recover; in scrub_handle_errored_block() local
1245 recover = sblock->pagev[page_index]->recover; in scrub_handle_errored_block()
1246 if (recover) { in scrub_handle_errored_block()
[all …]
/linux-4.4.14/include/linux/
Dsuspend.h187 void (*recover)(void); member
362 void (*recover)(void); member
Dide.h1492 u16 recover; /* t2i or tK */ member
Dlibata.h1014 unsigned short recover; /* t2i or tK */ member
/linux-4.4.14/include/video/
Dauo_k190xfb.h58 void (*recover)(struct auok190xfb_par *par); member
/linux-4.4.14/drivers/usb/musb/
Dmusb_core.h207 int (*recover)(struct musb *musb); member
573 if (!musb->ops->recover) in musb_platform_recover()
576 return musb->ops->recover(musb); in musb_platform_recover()
Dmusb_dsps.c649 .recover = dsps_musb_recover,
/linux-4.4.14/kernel/power/
Dhibernate.c225 if (platform_mode && hibernation_ops && hibernation_ops->recover) in platform_recover()
226 hibernation_ops->recover(); in platform_recover()
541 if (hibernation_ops->recover) in hibernation_platform_enter()
542 hibernation_ops->recover(); in hibernation_platform_enter()
Dsuspend.c230 if (state != PM_SUSPEND_FREEZE && suspend_ops->recover) in platform_recover()
231 suspend_ops->recover(); in platform_recover()
/linux-4.4.14/Documentation/PCI/
Dpci-error-recovery.txt96 PCI_ERS_RESULT_CAN_RECOVER, /* Device driver can recover without slot reset */
111 The actual steps taken by a platform to recover from a PCI error
140 Driver returns this if it thinks it might be able to recover
145 Driver returns this if it can't recover without a
148 Driver returns this if it doesn't want to recover at all.
161 If the platform is unable to recover the slot, the next step
192 all drivers on a segment agree that they can try to recover and if no automatic
355 A "permanent failure" has occurred, and the platform cannot recover
381 recover (disconnect them) and try to let other cards on the same segment
382 recover. Keep in mind that in most real life cases, though, there will
Dpcieaer-howto.txt99 interface. The PCI Express protocol can recover without any software
170 the interface. The PCI Express protocol can recover without any
187 whether it can recover or the AER driver calls mmio_enabled as next.
/linux-4.4.14/drivers/staging/lustre/lustre/ptlrpc/
DMakefile11 ptlrpc_objs := client.o recover.o connection.o niobuf.o pack_generic.o
/linux-4.4.14/drivers/md/
Ddm-raid1.c328 static int recover(struct mirror_set *ms, struct dm_region *reg) in recover() function
401 r = recover(ms, reg); in do_recovery()
687 struct bio_list sync, nosync, recover, *this_list = NULL; in do_writes() local
700 bio_list_init(&recover); in do_writes()
730 this_list = &recover; in do_writes()
775 while ((bio = bio_list_pop(&recover))) in do_writes()
/linux-4.4.14/drivers/scsi/cxlflash/
Dsuperpipe.c1605 struct dk_cxlflash_recover_afu *recover) in cxlflash_afu_recover() argument
1613 u64 ctxid = DECODE_CTXID(recover->context_id), in cxlflash_afu_recover()
1614 rctxid = recover->context_id; in cxlflash_afu_recover()
1625 __func__, recover->reason, rctxid); in cxlflash_afu_recover()
1659 recover->context_id = ctxi->ctxid; in cxlflash_afu_recover()
1660 recover->adap_fd = ctxi->lfd; in cxlflash_afu_recover()
1661 recover->mmio_size = sizeof(afu->afu_map->hosts[0].harea); in cxlflash_afu_recover()
1662 recover->hdr.return_flags |= in cxlflash_afu_recover()
/linux-4.4.14/drivers/net/usb/
Dcdc_subset.c105 .recover = m5632_recover,
Dusbnet.c1263 if (dev->driver_info->recover) in usbnet_tx_timeout()
1264 (dev->driver_info->recover)(dev); in usbnet_tx_timeout()
/linux-4.4.14/arch/s390/pci/
Dpci_sysfs.c66 static DEVICE_ATTR_WO(recover);
/linux-4.4.14/Documentation/device-mapper/
Ddm-raid.txt176 of "resync" or "recover" can be considered complete.
183 recover - A device in the array is being rebuilt or
207 "recover"- Initiate/continue a recover process.
/linux-4.4.14/drivers/gpu/drm/msm/
Dmsm_gpu.h55 void (*recover)(struct msm_gpu *gpu); member
Dmsm_gpu.c286 gpu->funcs->recover(gpu); in recover_worker()
/linux-4.4.14/drivers/acpi/
Dsleep.c624 .recover = acpi_pm_finish,
795 .recover = acpi_pm_finish,
/linux-4.4.14/Documentation/video4linux/
Dhauppauge-wintv-cx88-ir.txt34 You need to recover the actual RC5 bits out of the (oversampled) IR sensor
Dvivid.txt788 marked as having suffered a fatal error, the only way to recover
/linux-4.4.14/Documentation/video4linux/cx88/
Dhauppauge-wintv-cx88-ir.txt34 You need to recover the actual RC5 bits out of the (oversampled) IR sensor
/linux-4.4.14/drivers/net/hyperv/
Dnetvsc_drv.c833 goto recover; in netvsc_set_channels()
844 goto recover; in netvsc_set_channels()
853 goto recover; in netvsc_set_channels()
861 recover: in netvsc_set_channels()
/linux-4.4.14/drivers/media/pci/ttpci/
Dav7110.h277 void (*recover)(struct av7110* av7110); member
Dav7110.c233 if (av7110->recover) in recover_arm()
234 av7110->recover(av7110); in recover_arm()
2151 av7110->recover = dvb_s_recover; in frontend_init()
2164 av7110->recover = dvb_s_recover; in frontend_init()
2175 av7110->recover = dvb_s_recover; in frontend_init()
2232 av7110->recover = dvb_s_recover; in frontend_init()
2244 av7110->recover = dvb_s_recover; in frontend_init()
2278 av7110->recover = dvb_s_recover; in frontend_init()
/linux-4.4.14/include/linux/usb/
Dusbnet.h153 void (*recover)(struct usbnet *dev); member
/linux-4.4.14/Documentation/devicetree/bindings/sound/
Dst,sta32x.txt39 - st,thermal-warning-recover:
Dst,sta350.txt39 - st,thermal-warning-recover:
/linux-4.4.14/Documentation/laptops/
Ddisk-shock-protection.txt96 the same port as the hard drive, it generally *should* recover just
103 reset is required to recover from an exception on drive Y that further
/linux-4.4.14/arch/powerpc/kernel/
Dtraps.c703 int recover = 0; in machine_check_exception() local
714 recover = ppc_md.machine_check_exception(regs); in machine_check_exception()
716 recover = cur_cpu_spec->machine_check(regs); in machine_check_exception()
718 if (recover > 0) in machine_check_exception()
/linux-4.4.14/arch/ia64/kernel/
Dmca.c1285 int recover, cpu = smp_processor_id(); in ia64_mca_handler() local
1288 { .sos = sos, .monarch_cpu = &monarch_cpu, .data = &recover }; in ia64_mca_handler()
1329 recover = (ia64_mca_ucmc_extension in ia64_mca_handler()
1334 if (recover) { in ia64_mca_handler()
/linux-4.4.14/Documentation/filesystems/nfs/
Dfault_injection.txt8 observe how the client reacts and if it manages to recover its state correctly.
/linux-4.4.14/Documentation/crypto/
Dasync-tx-api.txt70 datap - (raid6_datap_recov) recover a raid6 data block and the p block
72 2data - (raid6_2data_recov) recover 2 raid6 data blocks from the given
/linux-4.4.14/drivers/pci/
DKconfig100 behind an IOMMU to recover from page faults.
/linux-4.4.14/Documentation/x86/x86_64/
Dmachinecheck54 how hard the kernel tries to recover even at some risk of
/linux-4.4.14/drivers/misc/eeprom/
DKconfig19 as read-only won't help recover from this. Also, if your chip
/linux-4.4.14/drivers/gpu/drm/msm/adreno/
Da4xx_gpu.c521 .recover = a4xx_recover,
Da3xx_gpu.c515 .recover = a3xx_recover,
/linux-4.4.14/Documentation/ABI/testing/
Dsysfs-block-bcache103 such that the cache can reliably recover from unclean shutdown;
/linux-4.4.14/Documentation/filesystems/
Dntfs.txt182 recover: At present only supported is recovery of
187 errors=continue,errors=recover
188 means the driver will attempt to recover and if that
/linux-4.4.14/Documentation/powerpc/
Deeh-pci-error-recovery.txt28 the OS the ability to "reboot"/recover individual PCI devices.
60 and recover from EEH errors will be presented. This is followed
Dcxlflash.txt303 architected behavior for a user is to call into this ioctl to recover
/linux-4.4.14/Documentation/x86/
Dkernel-stacks68 Using a separate stack allows the kernel to recover from it well enough
/linux-4.4.14/Documentation/scheduler/
Dsched-rt-group.txt111 realtime tasks will not lock up the machine but leave a little time to recover
/linux-4.4.14/Documentation/DocBook/
Dfilesystems.xml.db255 API-jbd2-journal-recover
/linux-4.4.14/Documentation/video4linux/cx2341x/
Dfw-decoder-regs.txt13 decoder will fail. A firmware reload will often recover, but sometimes a reset
284 Warning: Bad values will require a firmware reload to recover.
/linux-4.4.14/fs/f2fs/
Dsuper.c1099 int f2fs_commit_super(struct f2fs_sb_info *sbi, bool recover) in f2fs_commit_super() argument
1113 if (recover || err) in f2fs_commit_super()
/linux-4.4.14/Documentation/scsi/
Dscsi_eh.txt216 cannot recover some of failed scmds. Also, note that failure of the
226 Note that single recovery action on a scmd can recover multiple
Dtmscsim.txt368 recover from a SCSI reset in time. Use a higher delay or don't issue
DChangeLog.1992-19971422 full, and attempt to recover. Otherwise give up.
DChangeLog.lpfc311 * If the SCSI midlayer tries to recover from an error on a lun
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/rtl8192de/
Dhw.c412 bool recover = false; in rtl92de_set_hw_reg() local
425 recover = true; in rtl92de_set_hw_reg()
431 if (recover) in rtl92de_set_hw_reg()
/linux-4.4.14/Documentation/
Dmd.txt493 recover - a hot spare is being built to replace a
519 "recover" if a recovery seems to be needed, but cannot be
520 achieved. In that case, the transition to "recover" isn't
Dbcache.txt32 In the event of a data IO error on the flash it will try to recover by reading
Dvfio.txt315 and recover from them via EEH RTAS services, which works on the basis of
Dkernel-parameters.txt2315 [NFSv4] Attempt to recover locks that were lost due
2321 attempting to recover these locks, then set this
/linux-4.4.14/drivers/s390/net/
Dqeth_core_sys.c325 static DEVICE_ATTR(recover, 0200, NULL, qeth_dev_recover_store);
Dqeth_core.h723 int (*recover)(void *ptr); member
Dqeth_l3_main.c487 static void qeth_l3_clear_ip_list(struct qeth_card *card, int recover) in qeth_l3_clear_ip_list() argument
493 if (recover && card->options.sniffer) in qeth_l3_clear_ip_list()
506 if (!recover || addr->is_multicast) { in qeth_l3_clear_ip_list()
3523 .recover = qeth_l3_recover,
Dlcs.c2039 static DEVICE_ATTR(recover, 0200, NULL, lcs_dev_recover_store);
Dqeth_l2_main.c1433 .recover = qeth_l2_recover,
Dqeth_core_main.c1432 ts = kthread_run(card->discipline->recover, (void *)card, in qeth_start_kernel_thread()
/linux-4.4.14/Documentation/isdn/
DREADME.x2552 protocol are compiled as loadable modules. Like this, you can recover
/linux-4.4.14/Documentation/sysctl/
Dvm.txt76 for the full Virtual Memory Size of programs used to recover. Otherwise,
77 root may not be able to log in to recover the system.
745 process, such that they cannot recover (kill the hog).
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/
Dhw.c1886 bool recover = false; in rtl92cu_set_hw_reg() local
1897 recover = true; in rtl92cu_set_hw_reg()
1904 if (recover) in rtl92cu_set_hw_reg()
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/
Dhw.c441 bool recover = false; in rtl92ce_set_hw_reg() local
458 recover = true; in rtl92ce_set_hw_reg()
467 if (recover) { in rtl92ce_set_hw_reg()
/linux-4.4.14/fs/gfs2/
Dsys.c531 GDLM_ATTR(recover, 0600, NULL, recover_store);
/linux-4.4.14/Documentation/ia64/
Dmca.txt57 and decide if it can recover or not.
/linux-4.4.14/Documentation/nvdimm/
Dbtt.txt129 recover.
/linux-4.4.14/drivers/video/fbdev/
Dauo_k190x.c972 par->recover = auok190x_recover; in auok190x_common_probe()
/linux-4.4.14/fs/
Dbuffer.c1754 goto recover; in __block_write_full_page()
1824 recover: in __block_write_full_page()
/linux-4.4.14/sound/oss/
DCHANGELOG50 SB=32). These devices require more time to "recover" from processing
/linux-4.4.14/drivers/staging/unisys/Documentation/
Doverview.txt256 guests to continue running and to recover from the error.
/linux-4.4.14/drivers/net/ethernet/sun/
Dcassini.c636 int recover; in cas_page_dequeue() local
654 recover = ++cp->rx_spares_needed; in cas_page_dequeue()
658 if ((recover & (RX_SPARE_RECOVER_VAL - 1)) == 0) { in cas_page_dequeue()
/linux-4.4.14/Documentation/s390/
Dcds.txt360 If a device is able to recover from asynchronously presented I/O errors, it can
/linux-4.4.14/mm/
DKconfig355 Enables code to recover from some memory failures on systems
/linux-4.4.14/drivers/scsi/aic7xxx/
Daic7xxx.reg937 * Reporting of catastrophic errors. You usually cannot recover from
/linux-4.4.14/drivers/net/ethernet/broadcom/
Dcnic_defs.h4106 u32 recover; member
/linux-4.4.14/drivers/watchdog/
DKconfig62 from some situations that the hardware watchdog will recover
/linux-4.4.14/Documentation/networking/
Dbonding.txt769 If no slaves are active, the first slave to recover is
2715 monitored, and should it recover, it will rejoin the bond (in whatever
Dip-sysctl.txt183 occurred due to a burst, connection will recover. Enable this
/linux-4.4.14/arch/arm/
DKconfig1058 to physical address re-mapping, Cortex-A8 does not recover from the