@@ -2938,7 +2938,6 @@ pub(crate) mod asynch {
2938
2938
self : core:: pin:: Pin < & mut Self > ,
2939
2939
cx : & mut core:: task:: Context < ' _ > ,
2940
2940
) -> Poll < Self :: Output > {
2941
- self . tx . waker ( ) . register ( cx. waker ( ) ) ;
2942
2941
if self . tx . is_done ( ) {
2943
2942
self . tx . clear_interrupts ( ) ;
2944
2943
Poll :: Ready ( Ok ( ( ) ) )
@@ -2950,6 +2949,7 @@ pub(crate) mod asynch {
2950
2949
self . tx . clear_interrupts ( ) ;
2951
2950
Poll :: Ready ( Err ( DmaError :: DescriptorError ) )
2952
2951
} else {
2952
+ self . tx . waker ( ) . register ( cx. waker ( ) ) ;
2953
2953
self . tx
2954
2954
. listen_out ( DmaTxInterrupt :: TotalEof | DmaTxInterrupt :: DescriptorError ) ;
2955
2955
Poll :: Pending
@@ -2994,7 +2994,6 @@ pub(crate) mod asynch {
2994
2994
self : core:: pin:: Pin < & mut Self > ,
2995
2995
cx : & mut core:: task:: Context < ' _ > ,
2996
2996
) -> Poll < Self :: Output > {
2997
- self . rx . waker ( ) . register ( cx. waker ( ) ) ;
2998
2997
if self . rx . is_done ( ) {
2999
2998
self . rx . clear_interrupts ( ) ;
3000
2999
Poll :: Ready ( Ok ( ( ) ) )
@@ -3006,6 +3005,7 @@ pub(crate) mod asynch {
3006
3005
self . rx . clear_interrupts ( ) ;
3007
3006
Poll :: Ready ( Err ( DmaError :: DescriptorError ) )
3008
3007
} else {
3008
+ self . rx . waker ( ) . register ( cx. waker ( ) ) ;
3009
3009
self . rx . listen_in (
3010
3010
DmaRxInterrupt :: SuccessfulEof
3011
3011
| DmaRxInterrupt :: DescriptorError
@@ -3060,7 +3060,6 @@ pub(crate) mod asynch {
3060
3060
self : core:: pin:: Pin < & mut Self > ,
3061
3061
cx : & mut core:: task:: Context < ' _ > ,
3062
3062
) -> Poll < Self :: Output > {
3063
- self . tx . waker ( ) . register ( cx. waker ( ) ) ;
3064
3063
if self
3065
3064
. tx
3066
3065
. pending_out_interrupts ( )
@@ -3076,6 +3075,7 @@ pub(crate) mod asynch {
3076
3075
self . tx . clear_interrupts ( ) ;
3077
3076
Poll :: Ready ( Err ( DmaError :: DescriptorError ) )
3078
3077
} else {
3078
+ self . tx . waker ( ) . register ( cx. waker ( ) ) ;
3079
3079
self . tx
3080
3080
. listen_out ( DmaTxInterrupt :: Done | DmaTxInterrupt :: DescriptorError ) ;
3081
3081
Poll :: Pending
@@ -3124,7 +3124,6 @@ pub(crate) mod asynch {
3124
3124
self : core:: pin:: Pin < & mut Self > ,
3125
3125
cx : & mut core:: task:: Context < ' _ > ,
3126
3126
) -> Poll < Self :: Output > {
3127
- self . rx . waker ( ) . register ( cx. waker ( ) ) ;
3128
3127
if self
3129
3128
. rx
3130
3129
. pending_in_interrupts ( )
@@ -3140,6 +3139,7 @@ pub(crate) mod asynch {
3140
3139
self . rx . clear_interrupts ( ) ;
3141
3140
Poll :: Ready ( Err ( DmaError :: DescriptorError ) )
3142
3141
} else {
3142
+ self . rx . waker ( ) . register ( cx. waker ( ) ) ;
3143
3143
self . rx . listen_in (
3144
3144
DmaRxInterrupt :: Done
3145
3145
| DmaRxInterrupt :: DescriptorError
0 commit comments