diff --git a/Lib/asyncio/proactor_events.py b/Lib/asyncio/proactor_events.py
index d9cfdff..6d230a2 100644
--- a/Lib/asyncio/proactor_events.py
+++ b/Lib/asyncio/proactor_events.py
@@ -234,7 +234,7 @@
 
         if isinstance(self._protocol, protocols.BufferedProtocol):
             try:
-                protocols._feed_data_to_bufferred_proto(self._protocol, data)
+                protocols._feed_data_to_buffered_proto(self._protocol, data)
             except Exception as exc:
                 self._fatal_error(exc,
                                   'Fatal error: protocol.buffer_updated() '
diff --git a/Lib/asyncio/protocols.py b/Lib/asyncio/protocols.py
index 4d47da3..a35ea82 100644
--- a/Lib/asyncio/protocols.py
+++ b/Lib/asyncio/protocols.py
@@ -191,7 +191,7 @@
         """Called when subprocess has exited."""
 
 
-def _feed_data_to_bufferred_proto(proto, data):
+def _feed_data_to_buffered_proto(proto, data):
     data_len = len(data)
     while data_len:
         buf = proto.get_buffer(data_len)
diff --git a/Lib/asyncio/sslproto.py b/Lib/asyncio/sslproto.py
index 5578c6f..12fdb0d 100644
--- a/Lib/asyncio/sslproto.py
+++ b/Lib/asyncio/sslproto.py
@@ -535,7 +535,7 @@
             if chunk:
                 try:
                     if self._app_protocol_is_buffer:
-                        protocols._feed_data_to_bufferred_proto(
+                        protocols._feed_data_to_buffered_proto(
                             self._app_protocol, chunk)
                     else:
                         self._app_protocol.data_received(chunk)
diff --git a/Lib/test/test_asyncio/test_sslproto.py b/Lib/test/test_asyncio/test_sslproto.py
index 5cb3116..46a1523 100644
--- a/Lib/test/test_asyncio/test_sslproto.py
+++ b/Lib/test/test_asyncio/test_sslproto.py
@@ -186,28 +186,28 @@
 
         for usemv in [False, True]:
             proto = Proto(1, usemv)
-            protocols._feed_data_to_bufferred_proto(proto, b'12345')
+            protocols._feed_data_to_buffered_proto(proto, b'12345')
             self.assertEqual(proto.data, b'12345')
 
             proto = Proto(2, usemv)
-            protocols._feed_data_to_bufferred_proto(proto, b'12345')
+            protocols._feed_data_to_buffered_proto(proto, b'12345')
             self.assertEqual(proto.data, b'12345')
 
             proto = Proto(2, usemv)
-            protocols._feed_data_to_bufferred_proto(proto, b'1234')
+            protocols._feed_data_to_buffered_proto(proto, b'1234')
             self.assertEqual(proto.data, b'1234')
 
             proto = Proto(4, usemv)
-            protocols._feed_data_to_bufferred_proto(proto, b'1234')
+            protocols._feed_data_to_buffered_proto(proto, b'1234')
             self.assertEqual(proto.data, b'1234')
 
             proto = Proto(100, usemv)
-            protocols._feed_data_to_bufferred_proto(proto, b'12345')
+            protocols._feed_data_to_buffered_proto(proto, b'12345')
             self.assertEqual(proto.data, b'12345')
 
             proto = Proto(0, usemv)
             with self.assertRaisesRegex(RuntimeError, 'empty buffer'):
-                protocols._feed_data_to_bufferred_proto(proto, b'12345')
+                protocols._feed_data_to_buffered_proto(proto, b'12345')
 
     def test_start_tls_client_reg_proto_1(self):
         HELLO_MSG = b'1' * self.PAYLOAD_SIZE
